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. MinGW GCC 8.3.1 2019年2月23日 出炉啦

    GNU 2019-02-22 发布了 GCC 8.3 https://gcc.gnu.org/onlinedocs/8.3.0/ 有详细的说明 MinGW 上可用的 GCC 8.3.1 版本下载地址 ...

  2. nodejs分离html文件里面的js和css

    摘要: 本文要实现的内容,使用nodejs 对文件的增删改查,演示的例子->分离出一个html 文件里面的script 和style 里面的内容,然后单独生成js文件和css 文件.中间处理异步 ...

  3. [NOIP2017提高组]小凯的疑惑-扩展欧几里得

    #include<bits/stdc++.h> using namespace std; long long a,b,x,y,ans,tmp; inline void ex_gcd(lon ...

  4. 常用的user32说明

    函数名称 说明 ActiveKeyboardLayout 激活一个不同的键盘布局,该布局必须先由LoadKeyBoardLayout函数装载AdjustWindowRect 根据希望的用户矩形大小来计 ...

  5. wxpy使用

    一 简介 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展.实现了微信登录.收发消息.搜索好友.数据统计等功能. 总而言之,可用来实 ...

  6. h5解决键盘谈起,输入框失去焦点

  7. Java练习1

    1.编写一个计算图形面积的程序,程序应当能够计算并输出矩形.圆的面积.考虑到程序的未来扩展,设计一个接口ShapeInterface,在此基础上设计实现类Rectangle(矩形类)和Circle(圆 ...

  8. Angular 项目列表页

    $ ng g m project 功能:项目列表显示,增加,修改,删除项目.邀请其它人员加入项目. 单一性原则:希望搭建多个组件,每个组件负责自己的功能. 一.project相关组件 $ ng g c ...

  9. RAID磁盘阵列及CentOS7系统启动流程

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意,,数据读取无影响.将数据切割成许多区段,分别存放在各个硬盘 ...

  10. SLAM学习--开源测试数据集合

    Tum RGB-D SLAM Dataset and Benchmark https://vision.in.tum.de/data/datasets/rgbd-dataset Kitti http: ...