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指向)的更多相关文章

  1. ES5与ES6常用语法教程之 ①函数写法、创建对象、导入导出模块方式

    函数写法区别 计算a, b两个数字之和,有返回值 es5 写法 function add(a, b) { return a + b; } es6 写法(箭头函数) let add = (a, b) = ...

  2. MySQL常用语法命令及函数

    #创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...

  3. Vue常用语法及命令

    1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...

  4. js bind 绑定this指向

    1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...

  5. ES5与ES6常用语法教程之 ②解构语法糖、声明变量异同

    js常用语法系列教程如下 es5与es6常用语法教程(1) es5与es6常用语法教程(2) es5与es6常用语法教程(3) es5与es6常用语法教程(4) es5与es6常用语法教程(5) es ...

  6. sql数据库基础知识整理,常用函数及常用语法

    1常用数据库聚合函数max()min()sum()avg()count() 2字符串处理函数len() 与 datalength()  区别:len是返回字符长度  datalength是返回字节长度 ...

  7. ES5与ES6常用语法教程之 ③模板字符串、判断字符串是否包含其它字符串

    这部分教程我们主要讲解以下几个常用语法 模板字符串 带标签的模板字符串 判断字符串中是否包含其他字符串 给函数设置默认值 模板字符串 老式的拼接字符串方法 let dessert = '

  8. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  9. es6的常用语法

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

随机推荐

  1. day13 Python数据基本类型

    算数运算 / x除以y // 取整除 %返回除法的余数 !=   不等于 <> 不等于 赋值运算 c+= a等价于c=c+a c-= a等价于c=c-a 逻辑运算 and or not 基 ...

  2. WPF 10天修炼 第五天- 内容控件

    WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Conte ...

  3. Error occurred during initialization of VM Incompatible initial and maximum heap sizes specified

    双击Tomcat server在eclipse弹出的Tomcat配置项里面选择open launch configuration 选择arguments在 vm arguments 里面添加 -Xms ...

  4. python之可变长参数

    参数组:*args,**kwargs 实参有按位置和按关键字两种形式定义,*args和**kwargs 位置参数:按照从左到右的顺序定义的参数 位置形参:必选参数 位置实参:按照位置给形参传值 关键字 ...

  5. 《剑指offer》两个链表中的第一个公共节点

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  6. Mysql-表的完整性约束

    一.概述 为了约束用户对数据增,删,改,以确保数据正确,有效,合规. 有以下几种约束 not null 非空 指定某列不能为空 unique 唯一 指定某列或某几列的组合不能重复 primary ke ...

  7. Python之MySQL库表操作

    一:库操作 1.1 增 # 语法 # create database 库名 default charset utf8; create database db1 default charset utf8 ...

  8. Linux基础-命令(续)

    touch  命令: 如果文件不存在,创建文件,  如果文件存在,则修改文件最后修改时间. mkdir  命令: -p  递归创建目录,如,mkdir  -p  a/b/c/d Linux 中同一目录 ...

  9. [原创]基于Zynq SDIO WIFI 2.4G/5G SotfAP STA

    支持正基WiFi模块.高通WiFi模块: 2.4G速率: 5G AC速率: 支持SoftAP.STA模式:

  10. 一种快速过VMP3.x调试器虚拟机检测的方法

    VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情. 比如: and 2 = 2 表示检测用户层调试器 and 4 = 4 表示检测内核调试器 ...