1.引用:
javascript的引用是直接物理地址;同地址多引用都可以修改数据。但是对对象型数据:string
的字符串追加,会创建新的字符串对象,并不是源地址的数据更新。数组也是,如果给引用变量
重新定义数组,则该引用变量的引用地址会发生改变。其实就一句话:js的引用就是物理地址。赋予创建
的新对象等于赋予新的物理地址。
2.函数的重载和类型检查:
javascript里,函数的重载是特殊的,因为它的参数类型是运行时确定,所以并不能像java一样定义很多的重载方法,但是,js的重载却可以以一抵百。而且,如果定义了3个参数,那么js支持在调用时,只传递第一个参数,这样,函数的多态性非常的丰富,参数个数不一定,参数类型也很丰富。
3.类型检查
很多时候,我们需要提前对函数的参数,以及一些变量的值进行类型判断和进一步的处理。就必须在处理前
进行相关的检查工作。
变量 | typeof Variable | variable.constructor |
{an:"object"} | object | Object |
{"an","object"} | object | Array |
function(){} | function | Function |
"a string" | string | String |
55 | number | Number |
true | boolean | Boolean |
new User() | object | User |
4.作用域
javascript中,作用域规范在function体内,而不是逻辑块。