摘要:特性新增的等方法,其中的方法在中被標(biāo)準(zhǔn)話的反序列化小勇小剛大勇小花小黑小白用來將字符串轉(zhuǎn)成對(duì)象的反序列化的序列化小勇小剛大勇小花小黑小白將對(duì)象轉(zhuǎn)成字符串的序列化字符串下列方法全部跟回調(diào)函數(shù)迭代方法數(shù)組遍歷可傳值數(shù)組遍歷可傳值返回?cái)?shù)組,數(shù)組
es5特性
Native JSON JSON.parse(str)(json的反序列化)es5新增的string、number、object、Date、function、json等方法,其中json的方法在es5中被標(biāo)準(zhǔn)話!
let str="[{"name":"小勇","age":18},{"name":"小剛","age":23},{"name":"大勇","age":25},{"name":"小花","age":13},{"name":"小黑","age":34},{"name":"小白","age":26}]" //用來將json字符串轉(zhuǎn)成json對(duì)象(json的反序列化) let jsonObj=JSON.parse(str); console.log(jsonObj)//(6) [Object, Object, Object, Object, Object, Object]JSON.stringify(arr)(json的序列化)
let arr=[ {"name":"小勇","age":18}, {"name":"小剛","age":23}, {"name":"大勇","age":25}, {"name":"小花","age":13}, {"name":"小黑","age":34}, {"name":"小白","age":26} ]; //將json對(duì)象轉(zhuǎn)成json字符串(json的序列化) let jsonStr=JSON.stringify(arr); console.log(jsonStr); //字符串es5-Array
Array 迭代方法 forEach 數(shù)組遍歷 可傳值下列方法全部跟回調(diào)函數(shù)
let arr=[1,2,3,4,5]; //forEach s數(shù)組遍歷 可傳值 arr.forEach(function(value,index){ console.log(value); console.log(index) })map返回?cái)?shù)組,數(shù)組遍歷
let arr1=arr.map(function(value){ return value*2+1 } )filter對(duì)數(shù)組的值進(jìn)行選擇性的返回
let arr2=arr.filter(function(value){ return value>2 }) console.log(arr2)some 只要有一個(gè)條件滿足就返回true
let arr3=arr.some(function(value){ return value>5every 所有的滿足
let arr4=arr.every(function(value){ return value>0 }) console.log(arr4)//true索引 indexOf()返回?cái)?shù)組下標(biāo)
console.log(arr.indexOf(5)); if(arr.indexOf(5)>1){ console.log("正確") }lasTindexOf()同上
累加方法 迭代 reduce() 計(jì)算數(shù)組和從后面返回?cái)?shù)組下標(biāo)
let arr=[1,2,3,4,5]; let result=arr.reduce(function(last,now){ return last+now; },0)//后邊跟開始跟那個(gè)計(jì)算 console.log(result)//15reduceRight()同上從右邊計(jì)算 數(shù)組的靜態(tài)方法 isArray() 判斷數(shù)組是否是數(shù)組 ps:是數(shù)組返回true,不是返回false
let z=2 console.log(Array.isArray(z));//falseString string trim 去除字符串的空白
let str=" abc" console.log("|"+str+"|") console.log("|"+str.trim()+"|")Date
console.log(Date.now()); 返回1970年7月1日到現(xiàn)在秒數(shù) console.log(new Date().toJSON()) console.log(new Date().toISOString().slice(0,10)); /* 1500712773697 es5方法.html:18 2017-07-22T08:39:33.697Z 2017-07-22Number toFixed()小數(shù)四舍五入
let a=new Number(1.326); let b=new Number(1.324); console.log(a.toFixed(2));//1.33 console.log(b.toFixed(2));//1.32 let c=1000000000000000000000; console.log(c.toPrecision(4));//1.000e+21 ps:在es5中我們經(jīng)常用Math.round()function
var x=1; let obj5={ x:2 } function fn1(){ console.log(this.x); //1 } //bind用來改變this指針的作用域 let fn2=fn1.bind(obj5);//2 fn2()es5_Object 1.create(指定_proto_)可用來指定原型
let obj={ x:1, y:2 } let obj2=Object.create(obj,{z:{ value:3 }}); console.log(obj2); //es6 let ob2={ _proto_:obj, z:3 } console.log(ob2);2.Object.defineProperty() 指定屬性
Object.defineProperty(obj2,"j",{ value:5, writable:true, //可以修改 enumerable:true, //可遍歷 可以遍歷原型上的東西 configurable:false //可配置嗎 }) obj2.j=30; console.log(obj2)//Object {z: 3, j: 5} for(var key in obj2){ console.log(key); }Object.defineProperties() 定義多個(gè)屬性
Object.defineProperties(obj2,{ "m":{ value:"abc", }, "n":{ value:"cba" } }) console.log(obj2) //Object {j: 30, z: 3, m: "abc", n: "cba"}getOwnPropertyDescriptor 獲取屬性描述
let desc=Object.getOwnPropertyDescriptor(obj,"x"); console.log(desc)//Object {value: 1, writable: true, enumerable: true, configurable: true}Object.keys 返回對(duì)象的key值
console.log(Object.keys(obj)); console.log(Object.values(obj)); console.log(Object.entries(obj));Object.getOwnPropertyNames() 獲取它自己的屬性 所有屬性名
let obj3=Object.getOwnPropertyNames(obj) console.log(obj3)Object.preventExtensions()阻止對(duì)象擴(kuò)展
let obj={ x:1, y:2 }; //Object.preventExtensions(obj);//阻止擴(kuò)展Object.seal() 密封 阻止默認(rèn)對(duì)象,不可進(jìn)行配置
// Object.seal(obj)Object.freeze() 凍結(jié)所有屬性可讀不可以配置
Object.freeze(obj) Object.defineProperty(obj,"x",{ value:5, writable:false, //可以修改 enumerable:false, //可遍歷 可以遍歷原型上的東西 configurable:false //可配置嗎 }) //obj.x=5 obj.z=3; obj.fn=function(){ } console.log(obj);Object.isExtensible() 是否可擴(kuò)展 true false Object.isSealed() 是否密封 Object.isFrozen() 是否凍結(jié) es5嚴(yán)格模式
"use strict" //嚴(yán)格模式棄用以前版本的語(yǔ)法,在用報(bào)錯(cuò) //讓你使用一些最新版本的語(yǔ)法
使用var聲明變量嚴(yán)格模式中將不通過
何使用"eval"的操作都會(huì)被禁止
val作用域
ith被禁用
aller/callee 被禁用
禁止擴(kuò)展的對(duì)象添加新屬性會(huì)報(bào)錯(cuò)
除系統(tǒng)內(nèi)置的屬性會(huì)報(bào)錯(cuò)
delete使用var聲明的變量或掛在window上的變量報(bào)錯(cuò)
delete不可刪除屬性(isSealed或isFrozen)的對(duì)象時(shí)報(bào)錯(cuò)
對(duì)一個(gè)對(duì)象的只讀屬性進(jìn)行賦值將報(bào)錯(cuò)
對(duì)象有重名的屬性將報(bào)錯(cuò)
函數(shù)有重名的參數(shù)將報(bào)錯(cuò)
八進(jìn)制表示法被禁用
arguments嚴(yán)格定義為參數(shù),不再與形參綁定
函數(shù)必須聲明在頂層
ES5里新增的關(guān)鍵字不能當(dāng)做變量標(biāo)示符使用,如implements, interface, let, package, private, protected, pulic, static, yield
call/apply的第一個(gè)參數(shù)直接傳入不包裝為對(duì)象
call/apply的第一個(gè)參數(shù)為null/undefined時(shí),this為null/undefined
bind的第一個(gè)參數(shù)為null/undefined時(shí),this為null/undefined
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/84255.html
摘要:但是在中,可以通過關(guān)鍵字來實(shí)現(xiàn)類的繼承的使用可以使得繼承意義更加明確并且值得一提的是,如果你使用來定義的組件,那么可以在類的構(gòu)造器里面,用簡(jiǎn)單的的聲明方式來替代方法。 原文:The 10 min ES6 course for the beginner React Developer譯者:Jim Xiao 著名的80/20定律可以用來解釋React和ES6的關(guān)系。因?yàn)镋S6增加了超過75...
摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布。基本不支持移動(dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...
摘要:然而,臨近規(guī)范發(fā)布時(shí),有建議提及未來的版本號(hào)切換為編年制,比如用同來指代在年末前被定稿的所有版本。總得來說就是版本號(hào)不再那么重要了,開始變得更像一個(gè)萬(wàn)古長(zhǎng)青的活標(biāo)準(zhǔn)。 你不知道的JS(下卷)ES6與之未來 第一章:ES的今與明 在你想深入這本書之前,你應(yīng)該對(duì)(在讀此書時(shí))JavaScript的最近標(biāo)準(zhǔn)掌握熟練,也就是ES5(專業(yè)來說是ES 5.1)。在此,我們決定全方面地談?wù)撽P(guān)于將近的...
摘要:一般我們對(duì)這種構(gòu)造函數(shù)命名都會(huì)采用,并把它稱呼為類,這不僅是為了跟的理念保持一致,也是因?yàn)榈膬?nèi)建類也是這種命名。由生成的對(duì)象,其是。這是標(biāo)準(zhǔn)的規(guī)定。本文的主題是原型系統(tǒng)的變遷,所以并沒有涉及和對(duì)原型鏈的影響。 概述 JavaScript 的原型系統(tǒng)是最初就有的語(yǔ)言設(shè)計(jì)。但隨著 ES 標(biāo)準(zhǔn)的進(jìn)化和新特性的添加。它也一直在不停進(jìn)化。這篇文章的目的就是梳理一下早期到 ES5 和現(xiàn)在 ES6,...
摘要:寫在前面環(huán)境是默認(rèn)支持的,但我們需要使用來滿足我們使用新特性的需求。以下內(nèi)容為了不讓項(xiàng)目產(chǎn)生環(huán)境依賴,沒有使用全局安裝的方式。這里舉一個(gè)使用的例子現(xiàn)在想使用的,我們需要先安裝和然后配置文件此時(shí)就可以用對(duì)轉(zhuǎn)碼了。腳本中打開的命令如下 寫在前面:Node 環(huán)境是默認(rèn)支持 ECMAScript6 的,但我們需要使用 babel 來滿足我們使用新特性的需求。以下內(nèi)容為了不讓項(xiàng)目產(chǎn)生環(huán)境依賴,沒...
閱讀 938·2023-04-25 23:40
閱讀 3715·2021-11-22 15:22
閱讀 3557·2021-10-09 09:44
閱讀 3410·2021-09-23 11:52
閱讀 1266·2021-09-22 15:43
閱讀 796·2021-09-10 10:51
閱讀 2215·2021-09-06 15:02
閱讀 3208·2021-09-06 15:02