ES5 常用 语法(object Arrary 函数绑定this指向)
ES object 扩展
ES object 扩展1.
<!DOCTYPE html>
<html> <head>
<link rel="shortcut icon" href="./assets/favicon.ico" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>webpack</title>
</head> <body>
<script type="text/javascript">
// ******object 扩展************
//1.
var obj={name:'kebo', sex:'男'}
var obj1 =Object.create(obj,{
age:{
value:25,
writable:true,//可被修改
configurable:true, //可被删除
enumerable:true
}
})
console.log("obj1-----",obj1)
obj1='kebo' // 修改对象的属性
// console.log("obj1-----###",obj1)
// delete obj1 // 删除对象
// console.log(obj1) for (var i in obj1){
console.log(i)
}
</script>
</body>
</html>
ES object 扩展2.
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="./assets/favicon.ico" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>webpack</title>
</head> <body>
<script type="text/javascript">
// ******object 扩展************ var obj2 ={fistName:'kebe',lastName:'bryant'};
Object.defineProperties(obj2,{
fullName: {
get: function(){ // 获取对应的值 惰性求值 被调用时才执行
return this.fistName + ' ' + this.lastName;
},
set: function(data){ // 监听对象的属性 发送改变是调用
console.log("obj2-------------",data)
var names=data.split(' ')
this.fistName=names[0]
this.lastName=names[1]
return this.fistName + ' ' + this.lastName;
}
},
})
console.log(obj2)
console.log('before',obj2.fullName)
obj2.fullName='kebe kebe';
console.log('after',obj2.fullName)
</script>
</body>
</html>
ES object 扩展3
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="./assets/favicon.ico" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<title>webpack</title>
</head> <body>
<script type="text/javascript">
// ******object 扩展************
var obj3 ={
fistName:'kebe',
lastName:'bryant',
get function(){ // 获取对应的值 惰性求值 被调用时才执行
return this.fistName + ' ' + this.lastName;
},
set function(data){ // 监听对象的属性 发送改变是调用
console.log("obj2-------------",data)
var names=data.split(' ')
this.fistName=names[0]
this.lastName=names[1]
return this.fistName + ' ' + this.lastName;
}
}
console.log(obj2)
console.log('before',obj2.fullName)
obj2.fullName='kebe kebe';
console.log('after',obj2.fullName) </script>
</body>
</html>
ES Arrary map, forEach ,filter(返回条件为true 的值)
var arr=[1,5,9,4,465,485,56,25,4,48,54]
console.log('4的下标',arr.indexOf(4))
console.log('4的下标',arr.lastIndexOf(4))
arr.forEach(function(item,index){
console.log("item--",item)
}) var arr1=arr.map((item,index)=>{
return item+10;
})
console.log("arr1--",arr1) var arr2=arr.filter((item,index)=>{
return item >25;
})
console.log("arr2 大于25的数--",arr2)
ES 函数语法 this指向绑定
var obj1={userName:'kobe'}
function foo1(data) {
console.log(this,data)
}
foo.call(obj1,33) //直接从第二个数据开始穿入
foo.apply(obj1,[33,45]) //第二个参数必须是数组
var bar = foo.bind(obj) //绑定后没有以及执行 返回一个值
console.log('bar',bar)
bar()
console.log('2222222222')
foo.bind(obj)(33666) //加()调用函数 直接从第二个数据开始穿入
var obj1={userName:'kobe'}
setTimeout(function () {
console.log("this---",this)
}.bind(obj1),1000)
ES5 常用 语法(object Arrary 函数绑定this指向)的更多相关文章
- ES5与ES6常用语法教程之 ①函数写法、创建对象、导入导出模块方式
函数写法区别 计算a, b两个数字之和,有返回值 es5 写法 function add(a, b) { return a + b; } es6 写法(箭头函数) let add = (a, b) = ...
- MySQL常用语法命令及函数
#创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...
- Vue常用语法及命令
1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...
- js bind 绑定this指向
1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...
- ES5与ES6常用语法教程之 ②解构语法糖、声明变量异同
js常用语法系列教程如下 es5与es6常用语法教程(1) es5与es6常用语法教程(2) es5与es6常用语法教程(3) es5与es6常用语法教程(4) es5与es6常用语法教程(5) es ...
- sql数据库基础知识整理,常用函数及常用语法
1常用数据库聚合函数max()min()sum()avg()count() 2字符串处理函数len() 与 datalength() 区别:len是返回字符长度 datalength是返回字节长度 ...
- ES5与ES6常用语法教程之 ③模板字符串、判断字符串是否包含其它字符串
这部分教程我们主要讲解以下几个常用语法 模板字符串 带标签的模板字符串 判断字符串中是否包含其他字符串 给函数设置默认值 模板字符串 老式的拼接字符串方法 let dessert = '
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- es6的常用语法
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...
随机推荐
- 高可用Redis(六):瑞士军刀之bitmap,HyperLoglog和GEO
1.bitmap位图 1.1 bitmap位图的概念 首先来看一个例子,字符串big, 字母b的ASCII码为98,转换成二进制为 01100010 字母i的ASCII码为105,转换成二进制为 01 ...
- 九 Jenkins持续集成
随时随地将代码合并的方法叫做 持续集成 =================================================================== 视频用的10.0.0.1 ...
- SpringMVC 手动控制事务提交 【转】
1.配置文件 applicationContext.xml: <bean id="txManager" class="org.springframework.jdb ...
- 拦截请求并记录相应信息-springboot
方式: 1.FIlter过滤器 2.interceptor拦截器 3.Aspect切片 一.Filter过滤器形式 只能处理request中的数据 不能确定请求要走的是哪个controller信息 ...
- @PostConstruct 和 @PreConstruct
1.从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法.写法 ...
- vs 修改活动解决方案配置后无法调试,不生成pdb文件,“当前不会命中断点 还没有为该文档加载任何符号” 解决方法
修改vs的活动解决配置后无法进行调试,比如在Release.Debug之后新增一个TEST,切换到test后就无法进行调试. 修改一下 项目属性->生成->高级 中“调试信息”改为 ful ...
- java 异步线程下的顺序控制
转载请注明出处!!!! java.util.concurrent.CountDownLatch 的使用可以达到效果 CountDownLatch是JAVA提供在java.util.concurre ...
- Xpath Helper的使用
xPath Helper插件 xPath helper是一款Chrome浏览器的开发者插件,安装了xPath helper后就能轻松获取HTML元素的xPath,程序员就再也不需要通过搜索html源代 ...
- SSM项目目录结构
- Java对象引用和对象赋值
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用,那实在没法很好 ...