JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為浏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標准通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
承接上一篇,
Object
keys
object的keys方法能夠獲取一個給定對象的所有鍵(key/屬性名)並以數組的形式返回。這個方法可以用於鍵的篩選、匹配等。
var basket = { strawberry: 12, banana: 20, apple: 30, juice: 20 }; console.log(Object.keys(basket)); //[ 'strawberry', 'banana', 'apple', 'juice' ]
create
create方法用於創建一個新的對象,可選參數(proto, [ propertiesObject ]),第一個為原型,比如Array.prototype之類的,第二個為需要給新建對象的一些新屬性之類的,這個參數對象的屬性名將是新建對象的屬性,值則是屬性描述符(value、writable、configurable等)。
var o = Object.create({}, {p: {value: 42}}); var O = Object.create({}, {p: {value: 66, writable: true, enumerable: true}}); console.log(o.p); //42 console.log(O.p); //66 o.p = 20; O.p = 80; console.log(o.p); //42 console.log(O.p); //80
屬性描述符中writable默認為false,因此o.p即便在後來重新賦值也是不能改變其值的,而O.p則能夠在後來改變值,此外,create方法proto必須傳入相應參數,否則會報錯TypeError,當然以上代碼在嚴格模式下也會報錯,因為o.p被重寫- -
assign
assign方法,es6的新特性,支持傳參(target, …sources),用於將任意多個源對象的鍵值對添加的目標對象,類似於lodash的assign和underscore的extendOwn方法。
var boy = {handsome: true, rich: true}, girl = {cute: true, hair: 'long'}; var couples = Object.assign({}, boy, girl); console.log(couples); //{ handsome: true, rich: true, cute: true, hair: 'long' }
assign方法常用於框架層面的數據處理,比如你定義了一個client用於發送HTTP請求,使用的時候獲取接受到的參數之外自己可能得加上什麼默認的屬性。
Number
isNaN
Number的isNaN方法用來判斷傳入值是否是NaN的值,與全局的isNaN方法不同的是它不會強制將傳入參數轉化為數字類型,只有在參數是真正的數字類型,且值為 NaN 的時候才會返回 true。不過就自己而言全局的isNaN用的多一點,就用來判斷字符串是不是只包含數字,
console.log(isNaN('123f')); //true console.log(isNaN('123')); //true
此外,isFinite(value)方法用於判斷傳入參數是否是有窮數,isInteger(value)方法用於判斷傳入參數是否是整數。
toFixed
toFixed方法用來將數字轉化為特定的字符串,支持傳入參數(digits),0 < digits <= 20,在轉換的時候會自動進行四捨五入以及0補充。
var cool = 666.666; console.log(cool.toFixed(1)); //666.7 console.log(cool.toFixed(6)); //666.666000
這段時間發生了很多事情,從待了116天的杭州來到北京,開始一段新的工作與生活。不捨、惆怅、激動、興奮等情緒交織纏綿…七匹狼,認識了其余六狼,很珍惜這段大家一起努力一起嗨皮的日子,尤記得夜爬寶石山,俯瞰西湖,English poor,哈哈哈…
ps:javascript split() 定義和用法
split() 方法用於把一個字符串分割成字符串數組。
語法
stringObject.split(separator,howmany)