js的小知识点(二)

1、JavaScript 语言将函数看作一种值,与其它值(数值、字符串、布尔值等等)地位相同。凡是可以使用值的地方,就能使用函数。比如,可以把函数赋值给变量和对象的属性,也可以当作参数传入其他函数,或者作为函数的结果返回。函数只是一个可以执行的值,此外并无特殊之处。

由于函数与其他数据类型地位平等,所以在 JavaScript 语言中又称函数为第一等公民。

将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式。

2、函数的toString方法返回一个字符串,内容是函数的源码。

3、数组是一种特殊的对象,对象中的方法与原则数组大部分都适用,但数组中的方法对象不一定适用。

4、“类似数组的对象”的根本特征,就是具有length属性。只要有length属性,就可以认为这个对象类似于数组。但是,这种length属性不是动态值,不会随着成员的变化而变化。典型的“类似数组的对象”是函数的arguments对象,以及大多数 DOM 元素集,还有字符串。

数组的slice方法可以将“类似数组的对象”变成真正的数组。

var arr = Array.prototype.slice.call(arrayLike);

5、运算符中加号+ 的使用

 

6、自增和自减运算符,是一元运算符,只需要一个运算子。它们的作用是将运算子首先转为数值,然后加上1或者减去1。它们会修改原始变量。运算之后,变量的值发生变化,这种效应叫做运算的副作用(side effect)。自增和自减运算符是仅有的两个具有副作用的运算符,其他运算符都不会改变变量的值。

i++与++i的区别,i++是先使用后增加;++i是先增加后使用。 -- 与 ++ 同理

7、数值运算符(+)同样使用加号,但它是一元运算符(只需要一个操作数),而加法运算符是二元运算符(需要两个操作数)。数值运算符的作用在于可以将任何值转为数值(与Number函数的作用相同)。

8、三元条件运算符由问号(?)和冒号(:)组成,分隔三个表达式。它是 JavaScript 语言唯一一个需要三个运算子的运算符。如果第一个表达式的布尔值为true,则返回第二个表达式的值,否则返回第三个表达式的值。

9、逗号运算符用于对两个表达式求值,并返回后一个表达式的值。

10、错误类型

-SyntaxError对象是解析代码时发生的语法错误。

-ReferenceError对象是引用一个不存在的变量时发生的错误。

-RangeError对象是一个值超出有效范围时发生的错误。

-TypeError对象是变量或参数不是预期类型时发生的错误。

-URIError对象是 URI 相关函数的参数不正确时抛出的错误。

 

  • 布尔值与布尔值  转换为数值相加   true+true=2;
  • 布尔值与数值相加  转换为数值相加  true+3=4;
  • 字符串与非字符串相加  转换为字符串相加  a+false=afalse;"1"+1="11"
  • 加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)  "1"+4+2="142";4+2+"1"="61"
  • 运算子是对象,必须先转成原始类型的值,然后再相加。  var b={p:1};b+1="[object object]1" 

 

你可能感兴趣的:(javascript,前端)