Javascript:The Good Parts读书笔记(1)

最近在读《Javascript语言精粹》,把自己觉得重要的和以前不知道的一些知识点记录下来,等看完了,来一篇总结,咱这也算Javascript入门了。

1.注释
单行注释:// 多行注释:/ …/ 建议使用单行注释,因为正则表达式中经常使用'*/',容易出现不可知问题。

2.数字
只有单一数字类型,为64位的浮点数,因此,1和1.0在javascript中是相同的。 指数使用e表示10, NaN表示一个数值,但是该数值不等于任何数值。关于数字的处理,尽量使用Math库函数。

3.在javascript中,下列值会被当做假来处理:
  • false
  • null
  • undefined
  • 空字符串’‘
  • 数字0
  • 数字NaN

其他的值都为真。

4.switch语句中的case值支持数字和字符串

5.对象:
javascript中的对象就是可变的键值对组合,一个键值对表示一个属性,属性由名字和值组成,名字为包含空字符串在内的所有字符串,值为除undefined的任意值。

对象无类别,可任意扩展属性, 其原型链特性允许对象继承另一个对象的属性。

检索对象属性值object["property_name"],若属性名是合法的javascript标志符,则可以使用“.”表示法object.property。若使用的是不存在的属性名,返回undefined。直接使用赋值语句更新属性值,若无属性值,则新增属性。

对象赋值是传引用,不会拷贝。

原型对象链:类似于java世界的父类,修改原型影响所有链下游的对象,修改下游对象不影响原型,下游对象属性会覆盖上游属性;查找属性,从链下游一直往上找,直到根Object.prototype,最后没找到返回undefined。 使用方法:
if(typeof Object.beget !== 'function'){
    Object.beget = function(o){
        var F = function(){};
        F.prototype = o;
        return new F();
    }
} 


检查对象属性的类型:typeof; 检查是本身属性还是原型链上的数据:hasOwnProperty。

使用for in语句可以查看一个对象中的所有属性名,方法也是对象的一个属性,因此要合理的使用typeof和hasOwnProperty来得到自己想要的属性集。另外,遍历属性时,属性名的出现顺序不是固定的,

delete可以删除一个对象中的属性。‘delete obj.property’

通过使用全局变量对象来减少全局变量污染,降低于其他组件或者类库属性名冲突的状况。

你可能感兴趣的:(JavaScript)