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
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)
参数 | 描述 |
---|---|
separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |