zoukankan      html  css  js  c++  java
  • javaScript一些需要注意的细节

    变量声明早于代码运行

    函数声明早于变量声明

    this指针代表的是执行当前代码的对象的所有者

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

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

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

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

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

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

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

    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          
        }
    }

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

  • 相关阅读:
    Max Sum Plus Plus HDU
    Monkey and Banana HDU
    Ignatius and the Princess IV HDU
    Extended Traffic LightOJ
    Tram POJ
    Common Subsequence HDU
    最大连续子序列 HDU
    Max Sum HDU
    畅通工程再续
    River Hopscotch POJ
  • 原文地址:https://www.cnblogs.com/v-weiwang/p/4759849.html
Copyright © 2011-2022 走看看