javaScript一些须要注意的细节

变量声明早于代码运行javascript

函数声明早于变量声明html

this指针表明的是执行当前代码的对象的全部者java

JavaScript执行完同步,才能执行异步队列。如:alert,for if while 同步执行,在执行这些代码时,其它代码不执行。//关于JavaScript异步执行异步

属性在查找时先查找当前对象中属性,再查找继承原型,最后查找最终原型object是否存在。object的prototype为null。函数

object.prototype共享一分内存。构造方法重复构造。this

花括号({})是function的简写,方括号([])是array的简写。spa

a=b;为a指向同一个bprototype

a=b();为执行b,返回值赋值给a指针

a=new b();为在内存新建一个b,a指向一个新的b对象code

function b(){
    return 1+2;
}
var a=b();//out 3
var c=b;//out:function b(){ return 1+2;}

 y = y || 0;

若是y已经定义 , y || 返回 y, 由于 y 是 true, 不然返回 0, 由于 undefined 为 false。

  1. false0、空字符串("")、NaNnull 和 undefined 被转换为 false
  2. 全部其余值被转换为 true

在C++或C#中,当咱们谈到对象,指的是类或者结构体的实例。对象根据他们实例化的模板(就是所谓的类),会拥有不一样的 属性和方法。但在JavaScript里对象不是这个概念。在JavaScript中,对象就是一个键/值对的集合 -- 你能够把JavaScript的对象想象成一个键为字符串类型的字典。

有两种简单方法能够建立一个空对象:

var obj = new Object();

和:

var obj = {};

这两种方法在语义上是相同的。第二种更方便的方法叫做“对象字面量(object literal)”法。这种也是 JSON 格式的核心语法,通常咱们优先选择第二种方法。

“对象字面量”也能够用来在对象实例中定义一个对象:

var obj = {
    name: "Carrot",
    "for": "Max",
    details: {
        color: "orange",
        size: 12
    }
}

对象的属性能够经过链式(chain)表示方法进行访问:

obj.details.color; // orange
obj["details"]["size"]; // 12
var str="size";
obj["details"][str]; // 12 动态访问
var str2="length";
obj["details"][str2]=100;//动态添加
obj["details"]["length"]; // 100

var obj = {
    name: "Carrot",
    "for": "Max",
    details: {
        color: "orange",
        size: 12,
        length:100          
    }
}

以上代码示例来自----来自 

相关文章
相关标签/搜索