今天翻译的这篇文章依旧比较基础,是这个系列文章的第三篇。主要讲述了JavaScript中关于变量声明和代码编写时你可能没它留意的一些坑。javascript
那些熟悉PHP,C,Java语言的人初接触JavaScript时,每每会以为这是一门很是奇怪的语言。让咱们从语言的基本特性:变量以及编码方式等方面来讲说这些奇怪的地方。html
JavaScript的语句直接是用分号(;)来隔离的。java
<html> <body> <script> alert('hello'); alert('world'); </script> </body> </html>
空格和tab会被自动忽略,上述语句放在一行写也是能够的。浏览器
alert('Hello'); alert('World!');
可是换行符并不会被忽略,换行符起到了分号(;)的功能。this
JavaScript初学者写多条语句时经常会在分号上栽跟头。编码
下面的语句是不会运行的翻译
var a="long line"
语法分析程序会把它解释为rest
var a = "long; line ";
有未完结的字符串时(缺乏反引号)会报错。code
下列语句不能获得你想要的结果htm
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中有一批称为保留字的家伙是不能用作变量的,用了在一些浏览器中极可能会报错。这里有一份保留字列表。
主要有
number
string
boolean
object(很神奇的东西,之后会详细说到)
special values:bull和undefined
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等中经常用到。
在任何地方使用var 定义变量都不会出错;
变量能够是任何类型
两种注释方式
在语句结束时不要忘了加分号。
[深刻了解JavaScript系列文章]()