學習感悟1

今天開學從新開始再看一遍紅寶書,上學期看了一遍沒看懂(尷尬。。),從新開始仔細梳理了一下,寫一下今天的感悟。html

1.var聲明的變量會自動被添加到最接近的環境中數組

function add (num1,num2) {
       var sum = num1 + num2;
       return sum; 
    }
    alert(sum);// sum不是有效的變量,無效會致使錯誤


function add (num1,num2) {
       sum = num1 + num2;
       return sum; 
    }
    alert(sum);// sum有效

2.Ecmascript定義了六種數據類型,包括五種簡單數據類型(null,number,string,undefined,boolean)和一種複雜數據類型(object)app

3.null數據類型爲object函數

4.var聲明變量但爲初始化,其值爲undefined;this

var a;
alert(a == undefined);//true

5.Ecmascript中單引號和雙引號沒什麼區別編碼

6.將某個值轉換爲字符串htm

var a = 11;
typeof a;//number
var s=""+a;
typeof s;//string

7.逗號操做符還能夠用於賦值,在用於賦值時,逗號操做符總會返回表達式的最後一項對象

var num=(1,2,3,4);
num;//4

8.咱們不能給基本類型添加屬性(除object)blog

var name="sun";
name.age=21;
alert(name.age)//undefined;

9.對象是按值傳遞的排序

function setname(obj){
        obj.name = "sun";
        obj = new Object();
        obj.name = "che";
}
var person = new Object();
setname(person);
alert(person.name)//sun

10.if語句的變量聲明會將變量添加到當前的執行環境

if(true){
     var color="blue";
}
alert(color);//blue

11.簡單排序功能

var a = [0,1,5,2,10,15];
function b(v1,v2){
    return v2-v1;
}
b.sort(a);//15,10,5,2,1,0

12.Ecmascript操做數組有迭代方法(every,filter,foreach,map,some..),轉換方法(toString,valueOf..),棧方法(pop,push(後進先出)),隊列方法(push,shift(先進先出)),重排序方法(reverse,sort..),操做方法(concat..slice,splice),位置方法(indexOf,lastIndexOf..),歸併方法(reduce..)(還真是多。。)

13.date類型方法太多太繁雜,用的時候再翻吧。。

14.function類型沒有重載,出現了同名函數,後面的覆蓋前面的函數,在函數內部有兩個特殊的對象:arguements和this(重點理解,過兩天專門寫一個詳解this,重點理解下)

15.call,apply,bind真正加強大的地方是能擴充函數賴以生存的做用域

16.charCodeAt()這個方法很好玩,返回函數的字符編碼。

相關文章
相關標籤/搜索