定義一個方法,傳入一個string類型的參數,而後將string的每一個字符間加個空格返回。數組
spacify('hello world') // => 'h e l l o w o r l d'
安全
function spacify(str){函數
returen str.split('').join(' ');this
split方法 // 將一個字符串分割爲子字符串,而後將結果做爲字符串數組返回。spa
join方法 // 返回字符串值,其中包含了鏈接到一塊兒的數組的全部元素,元素由指定的分隔符分隔開來。prototype
}code
把spacify方法放入 String 對象上面。對象
'hello world'.spacify();
ip
String.prototype.spacify = function(){ci
return this.split('').join(' ');
}
直接在對象的原型(prototypes)上添加方法是否安全,尤爲是在 Object 對象上。
函數聲明:function fnName(){......}; // 使用function關鍵字聲明一個函數,再指定一個名字,叫函數聲明。
函數表達式:var fnName = function(){......}; // 使用function關鍵字聲明一個函數,可是未給函數命名。最後將匿名函數賦值給一個變量,叫函數表達式。
匿名函數:function(){......};使用function關鍵字聲明一個函數,可是並未給函數命名,因此叫匿名函數。匿名函數屬於函數表達式,匿名函數有不少做用,用於名種回調。
函數聲明和函數表達式不一樣點:
1.JavaScript引擎在解析JavaScript代碼時會‘函數聲明提高’(function declaration Hoisting)當前執行環境(做用域)上的函數聲明,而函數表達式必須等到JavaScript引擎執行到它所在行時,
纔會從上而下一行一行地解析函數表達式。
2.函數表達式後面能夠加括號當即調用該函數,函數聲明不能夠,只能以fnName()形式調用。