国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES5總結

Airmusic / 875人閱讀

摘要:對象只能在一行,不能多行模板字符串可以多行將字符串轉換成對象反序列化將對象轉換成字符串序列化會刪除一個字符串兩端的空白字符。并不影響原字符串本身,它返回的是一個新的字符串。

JAON對象 只能在一行,不能多行 模板字符串可以多行
let ass="[{"name":"ss","age":"3"},{"name":"aa","age":"1"},{"name":"qq","age":"4"},{"name":"zz","age":"3"},{"name":"xx","age":"5"},{"name":"cc","age":"7"}]"
JSON.parse
將JSON字符串轉換成JSON對象(JSON反序列化)
let aa=JSON.parse(ass);
console.log(aa[2].age);//4
JSON.stringify
將JSON對象轉換成JSON字符串(JSON序列化)
let arr=[
    {"name":"ss","age":"3"},
    {"name":"aa","age":"1"},
    {"name":"qq","age":"4"},
    {"name":"zz","age":"3"},
    {"name":"xx","age":"5"},
    {"name":"cc","age":"7"}
]
let bb=JSON.stringify(arr);
console.log(bb);//[{"name":"ss","age":"3"},{"name":"aa","age":"1"},{"name":"qq","age":"4"},{"name":"zz","age":"3"},{"name":"xx","age":"5"},{"name":"cc","age":"7"}]
String trim()
會刪除一個字符串兩端的空白字符。并不影響原字符串本身,它返回的是一個新的字符串。
let str22="     fff    ";
console.log("+"+str22+"+");//+     fff    +
console.log("+"+str22.trim()+"+")//+fff+
Date now()
//1970.7.1到現在,1秒=1000毫秒這個概率算
console.log(Date.now());//1500799156134
//toJSON()格林時間(德國) 與我們的時間正好相反
console.log(new Date().toJSON())//2017-07-23T08:42:13.050Z
console.log(new Date().toJSON().slice(0,10))//2017-07-23
Numbe toFixed(1)
小數后取位數,數字代表取到第幾位,四舍五入返回小數
let a=new Number(1.234);
console.log(a.toFixed(1));//1.2
let v=new Number(4.645372);
console.log(v.toFixed(2));//4.56
console.log(Math.round(13.89));//14 四舍五入返回整數
toPrecision
以指定的精度返回該數值對象的字符串表示。 precision 是 1 ~ 21 之間
let d=100000000000000000000;
console.log(d.toPrecision(7));1.000000e+20
console.log(d.toPrecision(3));1.00e+20
Array對象 迭代方法 forEach 遍歷,循環
let arr=[1,2,3,4,5];
arr.forEach(function(value, index){
    console.log(value);//1,2,3,4,5
    console.log(index);//0,1,2,3,4
});
map 映射
let arr1=arr.map(function(value){
    //return value+"abc";
    return value*2+1;
});
console.log(arr1);// ["1abc", "2abc", "3abc", "4abc", "5abc"]
console.log(arr1);//[3, 5, 7, 9, 11]
filter “過濾”、“篩選”
let arr2=arr.filter(function(value){
    return value>2;
});
console.log(arr2);//[3, 4, 5]
some 指是否“某些項”合乎條件,只要有符合的返回true
let arr3=arr.some(function(value){
    return value>2;
});
console.log(arr3);//true
every "每一個",必須是每一項都符合
let arr4=arr.every(function(value){
    return value>3;
});
console.log(arr4);//false
索引方法 indexOf

返回整數索引值,如果沒有匹配(嚴格匹配),返回-1. 匹配到返回 1。

var aa = [2, 5, 7, 3, 5];

console.log(aa.indexOf(5, "x")); // 1 ("x"被忽略)
console.log(aa.indexOf(5, "3")); // 4 (從3號位開始搜索)
console.log(aa.indexOf(4)); // -1 (未找到)
console.log(aa.indexOf("5")); // -1 (未找到,因為5 !== "5")
lastIndexOf 從字符串的末尾開始查找,
console.log(aa.lastIndexOf(5)); // 4
//console.log(aa.lastIndexOf(5, 3)); // 1 (從后往前,索引值小于3的開始搜索)

//console.log(aa.lastIndexOf(4)); // -1 (未找到)
縮小方法 reduce 迭代
let ar3=[1,2,3,4,5];
let gh=ar3.reduce(function(last,now){
    return last*now;
},1)
console.log(gh);//120
reduceRight

相當于reduce,只是reduceRight從右邊開始計算

let ar33=[1,2,3,4,5];
let gh22=ar33.reduceRight(function(last,now){
    return last*now;
},1)
console.log(gh22);//120
判斷方法 Array.isArray(obj)

判斷一個變量是否為數組,是返回true,不是返回false

let ss=22;
console.log(Array.isArray(ss));//false
console.log(Array.isArray(ar33));//true

ps:不兼容IE8.
Object Object.create用于創建一個對象 create(用來指定原型proto,)
let obj={
    x:1,
    y:2
}

let obj2=Object.create(obj,{z:{value:3}});
console.log(obj2);//Object {z: 3}
console.log(obj2.x);//1
//es6
let obj3={
    __proto__:obj,
    z:3
};
console.log(obj3);//Object {z: 3}
Object.defineProperty()用來給對象定義屬性的 只能指定一個
let objj={
    x:1,
    y:2
};
objj.k=4;
Object.defineProperty(objj,"j",{
    value:5,
    writable:false,//可寫
    enumerable:false,//可便利
     configurable: true//可配置
});
objj.j=50;
objj.k=50;
console.log(objj);//Object {x: 1, y: 2, k: 50, j: 5}
Object.defineProperties() 給對象一次性指定多個屬性
let objj={
    x:1,
    y:2
};
Object.defineProperties(objj,{
    "m":{
        value:"mm",
    },
    "u":{
        value:"ll",
    }
})
console.log(objj);//Object {x: 1, y: 2, m: "mm", u: "ll"}
getOwnPropertyDescriptor獲取對象具體屬性的描述
let sdf=Object.getOwnPropertyDescriptor(objj,"x");
console.log(sdf);//Object {value: 1, writable: true, enumerable: true, configurable: true}
Object.keys() 和getOwnPropertyNames方法類似,但是獲取所有的可枚舉的屬性,返回一個數組
console.log(Object.keys(obj));// ["x", "y"]
Object.getOwnPropertyNames()獲取所有的屬性名,
console.log(Object.getOwnPropertyNames(obj));
Object.preventExtensions() 可以讓一個對象不可擴展,該對象無法再添加新的屬性,但是可以刪除現有屬性
/*let aa={
    x:1,
    y:2
};
Object.preventExtensions(aa);
aa.fn=function(){

}
console.log(aa);//Object {x: 1, y: 2}*/
Object.seal() 來對一個對象密封,該方法會阻止對象擴展,并將該對象的所有屬性設置為不可配置
let aa={
    x:1,
    y:2
};
Object.seal(aa);
aa.fn=function(){

}
console.log(aa);//Object {x: 1, y: 4}
Object.freeze() 來對一個對象進行凍結,實現常量的需求,該方法會阻止對象擴展,并凍結對象,將其所有屬性設置為只讀和不可配置
let aa={
    x:1,
    y:2
};
Object.freeze(aa);
aa.y=4;
console.log(aa);//Object {x: 1, y: 2}
Object.isExtensible()可擴展true 不可擴展false
console.log(Object.isExtensible(aa));//false 
Object.isSealed() 是否密封(不可配置),沒有密封false,密封true
console.log(Object.isSealed(aa));//true
Object.isFrozen()是否凍結 沒有凍結false,凍結true
console.log(Object.isFrozen(aa));//true

ps 以上方法均不兼容ie8

"use strict"
嚴格模式,重要其實就是es5中棄用了很多以前版本的語法,你再用就提示錯誤。
使用var聲明變量嚴格模式中將不通過
何使用"eval"的操作都會被禁止
val作用域
ith被禁用
aller/callee 被禁用
禁止擴展的對象添加新屬性會報錯
除系統內置的屬性會報錯
delete使用var聲明的變量或掛在window上的變量報錯
delete不可刪除屬性(isSealed或isFrozen)的對象時報錯
對一個對象的只讀屬性進行賦值將報錯
對象有重名的屬性將報錯
函數有重名的參數將報錯
八進制表示法被禁用
arguments嚴格定義為參數,不再與形參綁定
函數必須聲明在頂層
ES5里新增的關鍵字不能當做變量標示符使用,如implements, interface, let, package, private, protected, pulic, static, yield
call/apply的第一個參數直接傳入不包裝為對象
call/apply的第一個參數為null/undefined時,this為null/undefined
bind的第一個參數為null/undefined時,this為null/undefined

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84253.html

相關文章

  • Vue+webpack+Element 兼容問題總結

    摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉換為令牌流。語法分析階段會把一個令牌流轉換成的形式方便后續操作。利用我們配置好的把生成的轉變為新的。 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...

    fxp 評論0 收藏0
  • Vue+webpack+Element 兼容問題總結

    摘要:項目中用到了和官方文檔中給出明確范圍不支持及以下版本,因為使用了無法模擬的特性。但它支持所有兼容的瀏覽器。詞法分析階段把字符串形式的代碼轉換為令牌流。語法分析階段會把一個令牌流轉換成的形式方便后續操作。利用我們配置好的把生成的轉變為新的。 項目中用到了Vue.js和Elenment-UIVue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因為 Vue 使用了 IE8 無法...

    sumory 評論0 收藏0
  • 刷《一年半經驗,百度、有贊、阿里面試總結》·手記

    摘要:在掘金上看到了一位大佬發了一篇很詳細的面試記錄文章一年半經驗,百度有贊阿里面試總結,為了查漏補缺,抽空就詳細做了下。 在掘金上看到了一位大佬發了一篇很詳細的面試記錄文章-《一年半經驗,百度、有贊、阿里面試總結》,為了查漏補缺,抽空就詳細做了下。(估計只有我這么無聊了哈哈哈) 有給出的或者有些不完善的答案,也盡力給出/完善了(可能有錯,大家自行辨別)。有些很困難的題目(例如實現Promi...

    codeKK 評論0 收藏0
  • 刷《一年半經驗,百度、有贊、阿里面試總結》·手記

    摘要:在掘金上看到了一位大佬發了一篇很詳細的面試記錄文章一年半經驗,百度有贊阿里面試總結,為了查漏補缺,抽空就詳細做了下。 在掘金上看到了一位大佬發了一篇很詳細的面試記錄文章-《一年半經驗,百度、有贊、阿里面試總結》,為了查漏補缺,抽空就詳細做了下。(估計只有我這么無聊了哈哈哈) 有給出的或者有些不完善的答案,也盡力給出/完善了(可能有錯,大家自行辨別)。有些很困難的題目(例如實現Promi...

    NusterCache 評論0 收藏0
  • ES5 call,apply,bind方法總結(包括理解this的指向問題)

    總結call,apply,bind方法的理解使用和區別。 call,apply,bind這三個方法在JavaScript中是用來改變函數調用的this指向。那么改變函數this指向有什么用呢?我們先來看一段代碼 var a= { name:harden, fn:function () { console.log(this.name); } } var b =...

    nanchen2251 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<