脚本宝典收集整理的这篇文章主要介绍了JavaScript中,关于变量和声明的一些坑,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
今天翻译的这篇文章依旧比较基础,是这个系列文章的第三篇。主要讲述了JavaScript中关于变量声明和代码编写时你可能没它留意的一些坑。
那些熟悉PHP,C,Java语言的人初接触JavaScript时,往往会觉得这是一门非常奇怪的语言。让我们从语言的基本特性:变量以及编码方式等方面来说说这些奇怪的地方。
代码结构
分号(;)
JavaScript的语句直接是用分号(;)来隔离的。
<htML>
<body>
<script>
alert('hello');
alert('world');
</script>
</body>
</html>
空格和tab会被自动忽略,上述语句放在一行写也是可以的。
alert('Hello'); alert('World!');
但是换行符并不会被忽略,换行符起到了分号(;)的功能。
分号(;)缺失“陷阱”
JavaScript初学者写多条语句时常常会在分号上栽跟头。
陷阱1
下面的语句是不会运行的
VAR a="long
line"
语法分析程序会把它解释为
var a = "long;
line ";
有未完结的字符串时(缺少反引号)会报错。
陷阱2
下列语句不能得到你想要的结果
return
result;
它被解释为
return;
result;
这和
return result;
明显不同。
如果你想得到正确的答案,转义符()(反斜线)可以帮你。下列语句可以正确运行。
return
result;
var a = "long
line "
如果一个表达式没有结束,换行也会被忽略。下面的代码都是可以正常运行的,有些奇怪,不过事实就是这样。
var a = "long " +
" line "
var b = 2 + (
2 + 3
)
var b = 2 * 2
+ 4
alert(b)
总的来说,在大多数情况下,在结尾省略分号(;)是可行的,但是这样可能会导致一些莫名奇妙的bug,关于是否写分号,一直以来到存在争议,不过越来越多的人认为在结尾处加上分号是一个好习惯。
变量
定义
变量是需要被定义的,在任何地方使用var都不会出错,(ES6有let,const)
var x;
变量被定义后就可以被赋任何值。
var x;
x = 5;
变量也可以一次性定义多个,用逗号分开
var x,y,z;
还可以一边定义一边赋值
var x="lalla",y="hahha";
JavaScript中也可以给一个未定义的变量赋值
x="lalla",y="hahha";
但是这样变量会变为全局变量,会导致一些你不想要的后果。
变量名称
变量名的开头必须是字母,$或_,第二位及以后还可以使用数字。
var $this,
_PRivate,
$,
_,
$1,
user15
需要注意的是,JavaScript大小写敏感,A和a是两个不同的变量。
保留字
JavaScript中有一批称为保留字的家伙是不能用做变量的,用了在一些浏览器中很可能会报错。这里有一份保留字列表。
变量类型
主要有
弱类型
JavaScript中的变量是弱类型的,这意味着一些两点
比如说
var userId = 123; // 123 is a number
var name = "John"; // "John" is a string
var userId = 123; // 123 is a number
userId = false; // now userId is boolean
注释
JavaScript有两种注释方法
单行注释
// let's see who is here:
var name = "John"; // My most valued visitor
多行注释
/*
The following variable has a short name.
Usually a short name means that the variable is
temporary and used only in nearest code.
*/
var a = "John";
块
由{}包起来的多行语句称作块。这在for,if,while,function等中常常用到。
本文小结
以上是脚本宝典为你收集整理的JavaScript中,关于变量和声明的一些坑全部内容,希望文章能够帮你解决JavaScript中,关于变量和声明的一些坑所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。