<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    磨刀不誤砍柴工

    合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。

       ::  ::  ::  :: 管理
    一:null,undefined
    null是關鍵字
    null含義是“非對象",常用來描述“空值”
    type of null;                 =>   object
    它可以表示 數字,字符串,對象是“無值”的
    undefined是預定義的全局變量,它的值就是“未定義”。(與null不一樣,它不是關鍵字)
    undefine 表明更深層次的“空值”。表明變量沒有初始化。
    typeof undefined;       => undefined
    如果查詢對象屬性或數組元素的值返回 undefined ,說明這個屬性或元素不存在
    如果函數沒有任何返回值,則返回undefined
    引用沒有提供實參的函數形參的值,也會得到 undefined
    null與undefined 都不存在任務屬性和方法

    null == undefined;           =>true
    null === undefined;         =>false
    null == false;                   => false 注意 null 與 false不等,但在希望是布爾值的地方,null是假值
    null ? 1 : 0;                      =>0
    undefined == false;         =>false 注意 undefined 與 false不等,但在希望是布爾值的地方,undefined是假值
    undefined ? 1: 0;             =>0

    二:運算符 typeof
    typeof是一元運算符,放在其它單個操作數的前面,操作數可以是任意類型。返回值為表示操作數類型的一個字符串
    typeof undefined;                  => undefined
    typeof null;                            =>object
    typeof true或false;                =>boolean
    typeof 任意數字或NaN;         =>number
    typeof 任意字符串;                =>string
    typeof 任意函數;                    =>function
    typeof 任意內置對象(非函數);         =>object
    typeof 任意宿主對象;            =>由編譯器各自實現的字符串,但不是“undefined”,“boolean”,“string”,或"number"

    常這樣用:
    (typeof value == 'string')...
    typeof運算符還可以帶括號,看起來更像是函數
    typeof (i)

    三:運算符instanceof
    instanceof 運算符希望左邊操作數是一個對象,右邊操作數是一個對象的類。如果左邊的對象是右邊類的實例,則返回true,否則返回false
    需要注意:所有對象都是 Object 實例。
    計算過程:計算 o instanceof f,會首先計算 f.prototype,然后中在原型鏈中查找 f,如果找到,那么o 是f的實例。表達式返回true。
    原型鏈。。

    四:運算符==和===
    javascript對象的比較是引用的比較,而不是值的比較。對象和其本身相等,和其它任何對象都不相等。
    === 是嚴格相等運算符,它首先計算兩個操作數的值,然后比較兩個值。比較過程中沒有任何類型轉換
    • 如果兩個值類型不同,則它們不相等
    • 如果兩個值,一個是null,一個是undefined,則它們不相等
    • null===null;                           =>true
    • undefined === undefined;     =>true
    • null === undefined;               =>false
    • 如果其中一個值是 NaN,或者兩個都是NaN,則它們不等。(NaN與其它任務值都是不等的,包括它本身,通過 x !==x 可以判斷x 是否為NaN)
    • 如果兩個值為數字且數值相等,則它們相等。同時 0===-0返回true
    • 如果兩個值都是字符串,且所含的對應位上的16位數完全相等,則它們相等。如果它們的長度和內容不同,則它們不等
    • 如果兩個引用指向同一個對象,數組或函數,則它們相等。如果指向不同的對象,盡管它們的屬性完全一樣,也是不相等的

    ==是相等運算符,但比較并不嚴格。如果兩個操作數不是同一類型,則會嘗試一些類型轉換,然后比較.
    • 如果兩個操作數的類型相同,則與 ===的比較規則一樣
    • 如果兩個操作數的類型不同,也可能認為它們相等,類型轉換規則如下
    • 如果一個值為null另一個為undefined,則它們相等
    • 如果一個值為數字,另一個為字符串,先將字符串轉換為數字,然后再用轉換后的值比較
    • 如果其中一個值是true,則將其轉換為1再進行比較。如果是false,則轉換成0
    • 如果一個值是對象,另一個值為數字或字符串,則將對象轉換成原始值后再比較
    • 其它不同類型間的比較均不相等
    例:“1” == true;
    先將true 轉為 1,然后再將 “1”轉為 1,比較結果為 true

    五:運算符in
    in 運算符希望它的左操作數是一個字符串,或者可以轉換成字符串。右操作數是一個對象。如果右側的對象擁有一個名為左側操作數值的屬性名,則返回true

    六:運算符 eval()
    eval()只有一個參數,如果傳入的不是字符串,則直接返回這個參數。如果是字符串,則將其作為javascript代碼進行編譯。如果編譯失敗,則拋出一個語法錯誤異常。如果編譯成功,則開始執行這段代碼。并返回字符串中的最后一個表達式或語句的值。如果最后一句沒有值,則返回undefined。
    eval()使用了調用它的作用域環境。
    因此:
    var x = 1;
    eval('x');     => 1
    eval('var y=3;');
    y;             =>3
    ECMAscript 3標準規定不允許給eval()賦與別名。如果通過別名來調用的話,將會拋出一個異常。
    posted on 2013-07-16 14:39 liwei5891 閱讀(228) 評論(0)  編輯  收藏 所屬分類: Javascript
    主站蜘蛛池模板: 国产伦精品一区二区免费| 亚洲国产美国国产综合一区二区| 亚洲a∨无码男人的天堂| 99在线观看视频免费| 久久国产亚洲高清观看| 18禁成人网站免费观看| 亚洲国产成人va在线观看网址| h视频在线观看免费网站| 亚洲天堂免费在线| 日韩毛片免费在线观看| 美女视频黄频a免费观看| 亚洲黄片手机免费观看| 中文字幕在线免费看线人| 亚洲av无码不卡| 亚洲三级高清免费| 亚洲丰满熟女一区二区哦| 精品亚洲成A人无码成A在线观看 | 亚洲精品乱码久久久久久中文字幕| 一区二区三区免费高清视频| 国产亚洲精品a在线观看app| 91麻豆国产免费观看| 波多野结衣亚洲一级| 五月天婷亚洲天综合网精品偷| 中文字幕永久免费| 亚洲成a人片在线观看中文!!!| 麻豆国产人免费人成免费视频| 亚欧乱色国产精品免费视频| 亚洲av无码一区二区三区网站 | 久久国产乱子伦免费精品| 亚洲日本va在线观看| 免费国产成人高清视频网站| 99精品免费视频| 亚洲一级毛片视频| 亚洲日韩国产成网在线观看| 真实国产乱子伦精品免费| 高潮毛片无遮挡高清免费视频| 日产亚洲一区二区三区| 国产特级淫片免费看| 一区二区免费视频| 亚洲av日韩av永久在线观看| 亚洲Av无码专区国产乱码DVD|