We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
空白用来间隔字符序列,这个很好理解。另Javascript 采取两种注释方法块注释/* /和行注释//我们使用//,因为/ */中会偶尔遇到正则表达式的注释会导致错误。
标识符有一个字母开头,其后可加一个或多个字母、数字或下划线。不允许使用保留字。
undefined , NaN 和 Infinity 却不是保留字。JavaScript 不允许使用保留字来命名参数或者变量,也不允许在对象字面量中,或者再一个属性存取表达式的点号之后,使用保留字作为对象的属性名。
undefined
NaN
Infinity
数字类型在内部表示为 64 位的浮点数。如果一个数字字面量有指数构成,则其值为由 e 之前的部分乘以 10 的 e 之后的部分的次方计算出来的值。** NaN 是一个不等于任何值,甚至包括其自身的值**。
字符串字面量可以被包围在双引号或单引号之中,包含 0 个或多个字符。JavaScript 中的所有字符都为 16 位。\ 为转移字符,\u 约定允许指定用数字表示的字符码位。如"A"==="\u0041"
"A"==="\u0041"
(这里说下===和==的区别) ==(相等运算法),===(严格相等运算符) JavaScript 对象的比较是引用的比较,非值的比较,对象和其本身相等,和其他任何对象不相等。 === 首先计算其操作数的值,然后比较,比较过程无任何类型转换。 == 如果两个操作数不是同一类型的,则相等运算符进行一些类型转换进行比较。 == 这里截取 JavaScript 相等表格上的的两张图片让大家更为直观的感受下。
==
===
引用下温特大大的总结就是:只要记住 null 只和undefined 相等,有 number 都转 number,有 boolean 也转 number,有 string 都转 string,对象互相不等,NaN 互相不等就可以了。
null
number
boolean
string
字符串一旦创建无法改变,通过 + 可以连接字符串形成一个新的字符串。'c' + 'a' + 't' === 'cat' 就很好理解了,'c' + 'a' + 't'连接后创建了一个新的字符串和 'cat' 有着完全相同的字符和字符顺序所以严格相等。
+
'c' + 'a' + 't' === 'cat'
'c' + 'a' + 't'
'cat'
Javascript 依赖于全局变量进行连接,所有编译单元的所有级别对象都被抛入全局对象的公共命名空间中。当 var 语句被用在函数的内部时,他定义了这个函数的私有变量。 switch、while、for、和 do ss语句允许一个可选的前置 label 配合 break 一起使用。 语句的执行顺序:从上到下。Javascript 可用过条件语句(if, switch),循环语句(for, while, do),强制跳转语句(return, break, throw) 和函数调用来改变执行顺序。 false, null, undefined,空字符串 '',数字 0,数字 NaN都为假,其余皆为真。 for 循环有两种形式,for(var i=0; i < arr.length,i++){} 和 for(i in arr){},后者枚举一个对象的所有属性名(或键名),在每次循环中,对象的另一个属性名字付串被复制给 for 和 in 之间的变量。 object.hasOwnProperty(variable)来检测是否为该对象的成员,还是从原型链里找到的。
var
switch
while
for
do
label
break
if
return
throw
false
''
0
for(var i=0; i < arr.length,i++){}
for(i in arr){}
in
object.hasOwnProperty(variable)
for(myvar in obj){ if(object.hasOwnProperty(myvar)){ ... } }
Javascript 不允许在 return 关键字和表示式之间换行,同样不允许 break 关键字和标签之间换行。
最简单的表达式是字面量值(比如字符串或数字)、变量、内置的值(true、false、null、undefined、NaN 和 Infinity)、以 new 前导的调用表达式、以 delete前导的属性存取表达式、包在圆括号中的表达式、以一个前缀运算符作为前导的表达式,或者表达式后面跟着:
true
new
delete
**函数调用引发函数的执行,函数调用运算符是跟随在函数名后面的一对圆括号。**圆括号中可能包含将会传递给这个函数的参数。一个属性存取表达式用于指定一个对象或数组的属性或元素。
下表按从最高到最低的优先级列出 JavaScript 运算符。具有相同优先级的运算符按从左至右的顺序求值。
type of 运算符产生的值有 'number'、'string'、'boolean'、'undefined'、'function' 和 'object'(注意都是小写)如果运算数是一个数组或者 null,那么结果是 object,这是不对的额这里作何解?
type of
object
对象字面量是一种方便指定新对象的表示法。属性名可是标识符或者字符串。数组字面量是一个方便指定新数组的表示法,函数字面量定义了函数值(后续相继详细介绍)。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1. 空白
空白用来间隔字符序列,这个很好理解。另Javascript 采取两种注释方法块注释/* /和行注释//我们使用//,因为/ */中会偶尔遇到正则表达式的注释会导致错误。
2. 标识符
标识符有一个字母开头,其后可加一个或多个字母、数字或下划线。不允许使用保留字。
undefined
,NaN
和Infinity
却不是保留字。JavaScript 不允许使用保留字来命名参数或者变量,也不允许在对象字面量中,或者再一个属性存取表达式的点号之后,使用保留字作为对象的属性名。3. 数字
数字类型在内部表示为 64 位的浮点数。如果一个数字字面量有指数构成,则其值为由 e 之前的部分乘以 10 的 e 之后的部分的次方计算出来的值。** NaN 是一个不等于任何值,甚至包括其自身的值**。
4. 字符串
字符串字面量可以被包围在双引号或单引号之中,包含 0 个或多个字符。JavaScript 中的所有字符都为 16 位。\ 为转移字符,\u 约定允许指定用数字表示的字符码位。如
"A"==="\u0041"
(这里说下===和==的区别)
==
(相等运算法),===
(严格相等运算符) JavaScript 对象的比较是引用的比较,非值的比较,对象和其本身相等,和其他任何对象不相等。===
首先计算其操作数的值,然后比较,比较过程无任何类型转换。==
如果两个操作数不是同一类型的,则相等运算符进行一些类型转换进行比较。==
这里截取 JavaScript 相等表格上的的两张图片让大家更为直观的感受下。引用下温特大大的总结就是:只要记住
null
只和undefined
相等,有number
都转number
,有boolean
也转number
,有string
都转string
,对象互相不等,NaN
互相不等就可以了。字符串一旦创建无法改变,通过
+
可以连接字符串形成一个新的字符串。'c' + 'a' + 't' === 'cat'
就很好理解了,'c' + 'a' + 't'
连接后创建了一个新的字符串和'cat'
有着完全相同的字符和字符顺序所以严格相等。5. 语句
Javascript 依赖于全局变量进行连接,所有编译单元的所有级别对象都被抛入全局对象的公共命名空间中。当
var
语句被用在函数的内部时,他定义了这个函数的私有变量。switch
、while
、for
、和do
ss语句允许一个可选的前置label
配合break
一起使用。语句的执行顺序:从上到下。Javascript 可用过条件语句(
if
,switch
),循环语句(for
,while
,do
),强制跳转语句(return
,break
,throw
) 和函数调用来改变执行顺序。false
,null
,undefined
,空字符串''
,数字0
,数字NaN
都为假,其余皆为真。for
循环有两种形式,for(var i=0; i < arr.length,i++){}
和for(i in arr){}
,后者枚举一个对象的所有属性名(或键名),在每次循环中,对象的另一个属性名字付串被复制给for
和in
之间的变量。object.hasOwnProperty(variable)
来检测是否为该对象的成员,还是从原型链里找到的。Javascript 不允许在
return
关键字和表示式之间换行,同样不允许break
关键字和标签之间换行。6. 表达式
最简单的表达式是字面量值(比如字符串或数字)、变量、内置的值(
true
、false
、null
、undefined
、NaN
和Infinity
)、以new
前导的调用表达式、以delete
前导的属性存取表达式、包在圆括号中的表达式、以一个前缀运算符作为前导的表达式,或者表达式后面跟着:**函数调用引发函数的执行,函数调用运算符是跟随在函数名后面的一对圆括号。**圆括号中可能包含将会传递给这个函数的参数。一个属性存取表达式用于指定一个对象或数组的属性或元素。
下表按从最高到最低的优先级列出 JavaScript 运算符。具有相同优先级的运算符按从左至右的顺序求值。
type of
运算符产生的值有 'number'、'string'、'boolean'、'undefined'、'function' 和 'object'(注意都是小写)如果运算数是一个数组或者null
,那么结果是object
,这是不对的额这里作何解?7. 字面量
对象字面量是一种方便指定新对象的表示法。属性名可是标识符或者字符串。数组字面量是一个方便指定新数组的表示法,函数字面量定义了函数值(后续相继详细介绍)。
The text was updated successfully, but these errors were encountered: