读万卷书不如读万里路,总结一下前两天学习的ES6
1. JSON引入了两种方法
字符串转化为json JSON.parse(jns)
json对象转化为字符串 JSON.stringify(result)
示例:
let result = { "name":"fu" } let jns = JSON.stringify(result) let strs = JSON.parse(jns) console.log(jns); console.log(strs);
可以看出 第一个打印字符串
第二个打印json对象
个人的一个发现 在村localStorage 的时候
使用localStorage.setItem只能保存字符串
我们可以把对象转化为字符串 使用时在转换回来
2.对象的方法
新添加了几种对象方法
遍历对象的key到数组中 Object.keys(result)
遍历对象的value到数组中 Object.values(result)
按照某一个对象为原型返回一个新的对象 Object.create(result)
返回对象的原型 Object.getprototypeof(res)
let result = { "name":"fu", "age":"23", "gender":"man" } let res = Object.create(result) console.log(Object.keys(result)); console.log(Object.values(result)); console.log(Object.getPrototypeOf(res)); console.log(res);
这里重点说说Object.create方法
一共传入两个参数 第一个参数为原型对象
第二个参数为 一个对象 对象有三个参数
value:"属性的值",
writeable: true / false 是否可读写
enumerable: true / false 是否可被枚举 for in , keys , values 等
configurable :true / false 是否可被删除
let res = Object.create(result,{ "hehe":{ value:"笑笑笑", writeable:false, enumerable:false, configurable:true } }) // delete res.hehe // 这里可以删除 // res.hehe = "不笑了" // 这里修改不动了
密封对象 使对象不可扩展
可以修改 但是不可删除 不可添加
let result = { "name":"fu", "age":"23", "gender":"man" } Object.seal(result) result.name = "wang" delete result.name // 这里删除不掉 result.love = "篮球" // 这里定义了爱好篮球 console.log(result.name); // 这里名字修改成功了 console.log(result.love); // 因为密封 这里显示undefined
举一反三
--不可扩展 可以删除 也就是要钱没有要命一条的意思
Object.preventExtensions(result)
--冻结对象 不可删除 不可写 不可枚举 (相当于这事发生了 怎么地了 )
Object.freeze(result)
--严格模式
使用方法为在文档前面添加“use strict” (养成良好的代码习惯)
定义变量必须用var let
试图删除不可能的属性会出错 比如冻结了 你删除不了就会出错了
不能出现不规整的属性 如prototype 就不能瞎搞 否则就出错
3.数组的方法
arr.every(fn)
先遍历所有的数组 判断是否是对的 如果所有的都符合 就返回true 否则 返回false
let arr = [1,"20","fu","name"] x = arr.every(function(i){ return typeof i == Number }) console.log(x);
arr.some(fn)
let arr = [1,20] x = arr.some(function(i){ return i > 19 }) console.log(x);
arr.forEach(fn) 这里的函数可以传入3个参数 第一个参数为 i 第二个参数为 index 第三个参数为本身 也就是自己
let arr = [1,20] arr.forEach(function(i,index,arr){ console.log(i); console.log(index); console.log(arr); })
4.字符串格式化
以前接触过pthon觉得python的字符串格式化f“xxxx{变量}xxxx” 很好用 js一直没有个好的方法 一直 xxx + xxx + xxx 觉得很low 但是 他来啦他来啦 他带着方法走来了
let strs = `这个数组为${arr}`