學習js筆記(1,2章)

數據類型

隱式轉換

num - 0    //轉換爲數字
num + ""    //轉換爲字符串

=== 判斷類型相等(嚴格等於)
== 作隱式轉換再比較

javascript

包裝對象

javascrpt隱藏機制:str是string(基本類型),自己是沒有方法的。當把一個基本數據類型嘗試當對象使用的對象使用的時候(當嘗試把基本類型的str當作對象同樣訪問時,例如:str.length;),js解釋器會產生一個臨時包裝類型對象(至關於new一個string),當完成訪問以後,這個對象會被銷燬掉;
html

類型檢測





/*
    編寫arraysSimilar函數,實現判斷傳入的兩個數組是否類似
*/
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb18030">
    <title>Untitled Document</title>
    
</head>
<body>
    <script type="text/javascript">   
        /*
         * param1 Array 
         * param2 Array
         * return true or false
         */
        function type(a){
            return  a === null ? '[object Null]':Object.prototype.toString.apply(a); //hack ie678
        }
        function arraysSimilar(arr1, arr2){
            if(!Array.isArray(arr1) || !Array.isArray(arr2) ||arr1.length!=arr2.length){return false;}
            var arr3=[];
            var arr4=[];
            var x;
            for(var i in arr1){
                arr3.push(type(arr1[i]));
                arr4.push(type(arr2[i]));
            }
            if(arr3.sort().toString()==arr4.sort().toString()){
                return true;
            }else{
                return false;
            }
        }
    </script>
    <script src="testData.js"></script>
</body>
</html>

表達式








運算符

按操做數分

按功能分

特殊運算符

* 逗號運算符


* delete運算符

從IE9開始, obj中必須configurable:true才能夠刪除,不然無效

* in運算符

* instanceof (返回bool類型,多用於判斷對象類型,基於原型鏈)、typeof(返回的是一個字符串,多用於判斷基本(原始)類型和函數對象)

* new運算符,創造 構造器的 實例

* this運算符

* void運算符,不管後面的操做數是多少,都會返回一個undefined
java

運算符優先級

總結

相關文章
相關標籤/搜索