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:也 ...
随机推荐
- python:map 函数
map(func, *iterables) --> map object map()是 Python 内置的高阶函数,它接收一个函数 func 和一个 list(*iterables),并通过把 ...
- Seeker:一款可获取高精度地理和设备信息的工具分析
Seeker是一款可以获取高精度地理和设备信息的工具.其利用HTML5,Javascript,JQuery和PHP来抓取设备信息,以及Geolocation接口实现对设备高精度地理位置的获取. See ...
- Tcp之心跳包
Tcp之心跳包 心跳包 跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着. 事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很 ...
- 设置VMware 以及指定 虚拟机 ,开机自启动
进入开机自启动目录 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 重命名为 start.bat 编辑 这个文件,编辑之后Ct ...
- C语言之在头文件中定义全局变量
通常情况下,都是在C文件中定义全局变量,在头文件中声明,但是,如果我们定义的全局变量需要被很多的C文件使用的话,那么将全局变量定义在头文件里面会方便很多,那到底是如何实现的? os_var.c文件内容 ...
- 标准C语言(11)
多文件编程时一个文件里可以包含多个函数,一个函数只能属于一个文件 /* * 多文件编程演示 * */ #include <stdio.h> #include "01add.h&q ...
- SEO黑页以及门页框架和JS跳转实现方法
在去年大家还在针对第三方博客狂轰乱炸,比如:webs.com.blogspot.com.weebly.com主要是因为本身博客平台的权重,再就是低廉的成本,主需要注册,没有域名和服务器的投入.排名也非 ...
- java8学习之Stream陷阱剖析
上一次[http://www.cnblogs.com/webor2006/p/8297603.html]在最后用stream.iterate()生成了6个奇数,接着基于它来实现如下需求:找出该流中大于 ...
- jedis基本操作命令
1.对value操作的命令 exists(key):确认一个key是否存在 del(key):删除一个key type(key):返回值的类型 keys(pattern):返回满足给定pattern的 ...
- string::find_last_not_of
#include <iostream>#include <string> using namespace std;int main(){ string s1("abc ...