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 ...
随机推荐
- js-图片预加载
//图片预加载 //闭包模拟局部作用于 (function($){ function Preload(imgs,options){ this.imgs = (typeof imgs === 'st ...
- Python安装xlrd和xlwt的步骤以及使用报错的解决方法
一.安装xlrd和xlwt功能模块步骤 1.使用python -V查看python的版本号,并查看python安装环境,是否安装成功: 2.可以通过官网(python官网:https://pypi ...
- java.lang.IllegalArgumentException: Invalid source 'classpath:spring-mvc.xml'
今天在跑项目时遇到java.lang.IllegalArgumentException: Invalid source 'classpath:spring-mvc.xml'报错,自己也是摸索了很久,一 ...
- 公设基础Generic
1# 与泛型相关的一些术语 1.类型参数(type parameter) : EX: List<E> 这里的E就属于List接口的单个类型参数E 2.参数化的类型(parameterize ...
- centos 7.5+如何格式化硬盘
[root@k8s-node2 ~]# fdisk -l Disk /dev/sdb: bytes, sectors Units = sectors of * = bytes Sector size ...
- YOLOv3:训练自己的数据(附优化与问题总结)
环境说明 系统:ubuntu16.04 显卡:Tesla k80 12G显存 python环境: 2.7 && 3.6 前提条件:cuda9.0 cudnn7.0 opencv3.4. ...
- 《ServerSuperIO Designer IDE使用教程》-4.增加台达PLC驱动及使用教程,从0到1的改变。发布:v4.2.3版本
v4.2.3 更新内容:1.优化数据存储部分,提高效率.2.修复数据库服务停止造成程序异常退出的现象.3.修复本机没有串口造成无法增加设备驱动的情况.4.增加编辑设备和监测点配置信息功能.5.增加台达 ...
- Oracle-分析函数之sum(...) over(...)
概述 Oracle函数 很久之前更新了一篇Oracle的函数博文http://blog.csdn.net/yangshangwei/article/details/51425458,分析函数并没有包括 ...
- sqlserver2008 批量插入数据
private DataTable GetTableSchema() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataCol ...
- day26.面向对象-反射封装内置方法
封装 隐藏对象的属性和实现细节,近对外提供公共访问方式 广义:代码保护,面向对象思想 狭义:将属性,方法隐藏起来 class Person: __key = 123456 # 私有的静态属性 def ...