ES6学习一--ES5
JSON对象方法
1.将JSON字符串转换成js对象(IE7及以下不支持)(IE7及以下兼容需其他手段)
JSON.parse()
2.将js对象转成JSON字符串
JSON.stringify()
3.js对象深度克隆
JSON.parse(JSON.stringify(arrTwo))
Object对象方法
1.Object.create(prototype,[descriptors])
作用:以指定对象为原型创建新的对象
为新的对象指定新的属性,并对属性进行描述
-value:指定值
-writable:标识当前属性是否科修改,默认false
-configurabale:标识当前属性是否可以被删除,默认false
-enumerable:标识当前属性是否能用for in枚举,默认false
var obj={
usename:"kobe",
age:18
} var obj1=Object.create(obj,{
sex:{
value:"男",//值
writable:true,//是否可修改
configurable:true,//是否可删除
enumerable:true,//是否可枚举
}
}) obj1.sex="女"
delete obj1.sex
for (var i in obj1){
console.log(i)//属性值
}
2.Object.defineProperties(object,descriptors)
作用:为指定对象定义扩展多个属性
get:用来获取当前属性值的回调函数
set:修改当前属性值的触发的回调函数,并且实参即为修改后的值
存取器属性:setter,getter一个用来存值,一个用来取值
var obj={
usename:"kobe",
age:18
} Object.defineProperties(obj,{
fullIfo:{
get:function () {
return this.usename+this.age
},
set:function (data){//监听扩展属性,当扩展属性发生变化的时候会自动调用
console.log(data)
}
}
}) console.log(obj)
3.对象本身方法
get propertyName(){}用来得到当前属性值的回调函数
set propertyName(){}用来监视当前属性值的回调函数
var obj={
get fullName(){
}
}
数组的扩展
1.Array.prototype.indexOf(value):得到值在数组中的第一个下标
2.Array.prototype.lastIndexOf(value):得到值在数组中的最后一个下标
3.Array.prototype.forEach(function(item,index){}):遍历数组
4.Array.prototype.map(function(item,index){}):遍历数组返回的新的数组,返回加工之后的值
5.Array.prototype.filter(function(item,index){}):遍历过滤出的一个新的子数组,返回条件为true的值
CALL,APPLY,BIND用法详解
1.Function.prototype.bind(obj)
作用:将函数内的this绑定为obj,并将函数返回
2.bind()/call()/apply()区别
传入参数的形式不同
foo.call(obj,a,b)//直接从第二个参数开始一次传入
foo.apply(obj,[a,b])//最多二个参数且第二个参数以数组的形式传递
call()和apply()会立即调用当前函数 foo.bind(this),绑定完后不会立即调用,而是将函数返回
传参方式和call()一样
bind(this)中this指向的是父级执行上下文中的this
ES6学习一--ES5的更多相关文章
- ES6学习之ES5之后新增的字符串方法
1.字符串模板:用法:`${变量名}` (好像是C#6.0中也引入了类似的方法.C#中的用法:$"我是{变量名}" ---> $"我叫{name}" ,相 ...
- ES6学习(1)——如何通过babel将ES6转化成ES5
使用babel编译ES6 babel是一个工具,可以通过多个平台,让js文件从ES6转化成ES5,从而支持一些浏览器并未支持的语法. Insall babel $ sudo npm install b ...
- ES6学习--搭建环境
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发 ...
- es6学习笔记-class之继承
继承 上一篇学习了class的概念,在es5时,对象的继承有好几种,原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承以及寄生组合式继承,都是按照函数的形式去集成的,现在class也有它的 ...
- es6学习笔记-class之一概念
前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...
- javascript的ES6学习总结(第二部分)
1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...
- es6开发环境搭建,babel 将es6转化成es5
工欲善其事,必先利其器.所以我们第1节就是搭建一个基本的ES6开发环境.现在的Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成E ...
- ES6学习之变量的解构赋值
前言:什么是ES6?ECMAScript 6(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.其中相比较于ES5新增了诸多的特性,并且ES6可转换为ES5的语法.- ...
- ES6学习笔记<一> let const class extends super
学习参考地址1 学习参考地址2 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015:也 ...
随机推荐
- DIj
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace DefineG ...
- 17、RAID和LVM
一.RAID 1.什么是raid 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意. ...
- QT 托盘 hover事件捕捉
1. QSystemTrayIcon hover事件 参考:https://stackoverflow.com/questions/21795919/how-to-catch-the-mousehov ...
- HAproxy企业应用,TCP/HTTP动静分离
HAProxy的是一个免费的.开源的的tcp/http反向代理工具.负载均衡器,是一个企业非常快速和可靠的安全的解决方案,提供高可用性.高并发性,负载均衡和代理对TCP和基于HTTP的应用程序.它特别 ...
- 如何自己搭建DNS服务器
DNS服务器是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由 解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主机的域名和 ...
- Java语言基础(2)
1 包的概念 把一个项目分割成几个模块,为每一个模块建立包,把该模块的.java文件统一放到对应包,通过包更好的管理.java文件,并且更好的分工合作.可以尽量避免出现.java文件重名现象. 包命名 ...
- Open Project' has encountered a problem
用Eclipse作android开发时,打开IDE,经常有的工程目录点击后会出现下面的问题提示: 这种情况往往是工程文件夹中的.project文件丢失了,所以从别的工程复制过来,就可以用啦.
- Python核心技术与实战——二十|assert的合理利用
我们平时在看代码的时候,或多或少会看到过assert的存在,并且在有些code review也可以通过增加assert来使代码更加健壮.但是即便如此,assert还是很容易被人忽略,可是这个很不起眼的 ...
- selenium-Xpath使用方法
01:什么是Xpath Xpath是一门xml文档中查找信息的语言,Xpath可用来在xml文档中对元素和属性进行遍历,主流的浏览器都支持xpath,因为HTML页面在DOM中表示xhtml文档 xp ...
- Spring资源
资源 官网:http://spring.io 文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/.htt ...