Javascript 什么是文本!=&引用&引用;什么意思?
这来自于雄辩的Javascript中的第6章: 代码:Javascript 什么是文本!=&引用&引用;什么意思?,javascript,string,while-loop,Javascript,String,While Loop,这来自于雄辩的Javascript中的第6章: 代码: function splitParagraph(text) { var fragments = []; while( text != "" ) // ? if (text.charAt(0) == "*") { fragments.push({type: "emphasized"}); etc... 我很难理解whi
function splitParagraph(text) {
var fragments = [];
while( text != "" ) // ?
if (text.charAt(0) == "*") {
fragments.push({type: "emphasized"});
etc...
我很难理解while循环在做什么。文本是一个字符串。while循环是否读取“while text not have any characters remained..”while循环是否逐个查看字符串中的每个字符,以确保还有另一个字符?while循环在内部条件为真时继续运行。在这种情况下,
text!=如果所讨论的字符串不是空字符串,则“
为true
在这种特殊情况下,我想文本
必须在循环中的某个地方更改,否则在这里使用while
构造是没有意义的
注意:实际上,在JavaScript中,=
和==
运算符将以一种非常奇怪的方式进行计算:例如,0、[]
和“
都将被认为是相等的:
“”!=[]错误
0!=[]错误
->错误0!=“”
==
和==
可用于强制严格相等。while循环在内部条件为true时保持运行。在这种情况下,text!=如果所讨论的字符串不是空字符串,则“
为true
在这种特殊情况下,我想文本
必须在循环中的某个地方更改,否则在这里使用while
构造是没有意义的
注意:实际上,在JavaScript中,=
和==
运算符将以一种非常奇怪的方式进行计算:例如,0、[]
和“
都将被认为是相等的:
“”!=[]错误
0!=[]错误
->错误0!=“”
==
和==代码>可用于强制严格相等。它检查文本是否为空字符串(长度为0且不包含任何字符) 它检查文本是否不是空字符串(长度为0且不包含任何字符)
什么是文本!=”“什么意思
这意味着如果无法强制文本的值与匹配
考虑一下这个代码
if ("abc" != "") {
console.log("1 ok");
}
if ([] != "") {
console.log("2 ok");
}
if (0 != "") {
console.log("3 ok");
}
if (false != "") {
console.log("4 ok");
}
在
哦,天哪,案例2、3和4发生了什么
"Is the while loop looking at every character in the string
one by one making sure there is another character left?"
什么是文本!=”“什么意思
这意味着如果无法强制文本的值与匹配
考虑一下这个代码
if ("abc" != "") {
console.log("1 ok");
}
if ([] != "") {
console.log("2 ok");
}
if (0 != "") {
console.log("3 ok");
}
if (false != "") {
console.log("4 ok");
}
在
哦,天哪,案例2、3和4发生了什么
"Is the while loop looking at every character in the string
one by one making sure there is another character left?"
是的,尽管没有显示整个循环,但这几乎可以肯定是正在进行的操作
while条件检查文本
字符串是否为空。
如果不是空的,循环将在循环体中迭代。
text.charAt(0)
检查字符串的第一个字符。如果找到“*”字符,
一个元素被添加到片段
数组中
正文中会有代码删除文本的第一个字符
字符串
然后循环处理字符串的下一个字符
while( text != "" )
if (text.charAt(0) == "*") {
fragments.push({type: "emphasized"});
是的,尽管没有显示整个循环,但这几乎可以肯定是正在进行的操作
while条件检查文本
字符串是否为空。
如果不是空的,循环将在循环体中迭代。
text.charAt(0)
检查字符串的第一个字符。如果找到“*”字符,
一个元素被添加到片段
数组中
正文中会有代码删除文本的第一个字符
字符串
然后循环处理字符串的下一个字符
while( text != "" )
if (text.charAt(0) == "*") {
fragments.push({type: "emphasized"});
如果直接复制(是,还是有遗漏?)。它渴望成为一个无限循环和一个堆栈溢出。如果直接复制的话(是这样的,还是遗漏了什么?)就远远不够雄辩。它渴望成为一个无限循环和堆栈溢出。在这种特殊情况下,只要text
的长度不是0(空),while循环就会迭代。。然后它将检查文本的第一个字符是否为“*”?在这种特殊情况下,只要text
不是长度0(空)…,while循环就会迭代。。然后它将检查文本的第一个字符是否为“*”?!==和===也更快。很好的建议。我是否应该始终使用==代码>和===
超过=
和==
嗯,非严格运算符也有其用途。例如,2=='2'
但是2!='2'
!==和===也更快。很好的建议。我是否应该始终使用==代码>和===
超过=
和==
嗯,非严格运算符也有其用途。例如,2=='2'
但是2!='2'
。