What does text != "" mean?
What does text != "" mean?
摘自雄辩Javascript第6章:
代码:
function splitParagraph(text) {
var fragments = [];
while( text != "" ) // ?
if (text.charAt(0) == "*") {
fragments.push({type: "emphasized"});
etc...
我很难掌握while循环在做什么。Text是一个字符串。while循环是否读取"while text没有任何剩余字符…"while循环是否一个接一个地查看字符串中的每个字符,以确保还有一个字符剩余?
当内部条件为真时,while
循环继续运行。在本例中,如果所讨论的字符串不是空字符串,则text != ""
为true。
在这个特殊的情况下,我猜text
必须在循环中的某个地方改变,否则在这里使用while
结构是没有意义的。
:实际上,在JavaScript中,!=
和==
运算符将以一种非常奇怪的方式计算:例如,0,[]
和""
将被认为是相等的:
-
"" != []
-> false -
0 != []
-> false -
0 != ""
-> false
===
和!==
可以用来强制严格相等
检查文本是否为空字符串(长度为0且不包含字符)。
"Is the while loop looking at every character in the string
one by one making sure there is another character left?"
是的,虽然没有显示整个循环,但几乎可以肯定正在做的是
while条件检查text
字符串是否为空。如果不为空,则循环遍历循环体。text.charAt(0)
检查字符串的第一个字符。如果找到'*'字符,一个元素被添加到fragments
数组。
在正文中,将有代码删除text
字符串的第一个字符然后循环处理字符串的下一个字符。
while( text != "" )
if (text.charAt(0) == "*") {
fragments.push({type: "emphasized"});
text != " "是什么意思?
表示如果text
的值不能强制匹配""
考虑以下代码
if ("abc" != "") {
console.log("1 ok");
}
if ([] != "") {
console.log("2 ok");
}
if (0 != "") {
console.log("3 ok");
}
if (false != "") {
console.log("4 ok");
}
在jsfiddle 哦,天哪,情况2、3和4发生了什么?
相关文章:
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- 什么是"!函数(){}〃;javascript中的mean/do
- 什么是“;回归"javascript中的mean
- 什么's二“"javascript中的mean
- 什么是“||"在var语句中是mean