对象的API
entries
keys
values
is
assign
create
toSting
Proety
defineProperty(obj,key,propety)
Object.entries(),Object.keys(),Object.values()
理解:获取对象的key、value,组成的数组
使用:
参数:
返回值:转换之后的数组
let obj1 = {'a':1,"b":2,"c":3};
let res1 = Object.entries(obj1);
let res2 = Object.keys(obj1);
let res3 = Object.values(obj1);
console.log('返回值',res1); //["a", 1], ["b", 2], ["c", 3]]
console.log('返回值',res2); //["a", "b", "c"]
console.log('返回值',res3); //[1, 2, 3]
Object.is()
理解:判断传入的两个参数是否相等
返回值:返回布尔值
注意值:可以区分NAN
let obj1 = {'a':1,"b":2,"c":3};
let res1 = Object.is("a","b");
let res2 = Object.is(NaN, NaN)
console.log('返回值',res1); //false
console.log('返回值',res2); //true
Object.assign()
理解:合并对象,将第二个及后面的参数合并到第一个参数上
返回值:合并之后的第一个参数
原对象:改变
let obj1 = {'a':1,"b":2,"c":3};
let res1 = Object.assign(obj1,{'o':99});
let obj2 = {'a':1,"b":2,"c":3};
let res2 = Object.assign({},obj1,{'o':99});
console.log('原数组',obj1); //{a: 1, b: 2, c: 3, o: 99}
console.log('返回值',res1); //{a: 1, b: 2, c: 3, o: 99}
console.log('原数组',obj2); //{a: 1, b: 2, c: 3}
console.log('返回值',res2); //{a: 1, b: 2, c: 3, o: 99}
Object.create()
理解:创建对象,并将对象的__proto__属性上添加对象,对象是传入的参数
返回值:新创建的对象
let obj = {
x : 1,
y : 2,
z :3,
name : 'abc',
study : function () {
console.log(this.name)
}
}
let newObj = Object.create(obj);
console.dir(newObj);
Object.Proety()
理解:对象代理,通过对象代理可以获取指定的对象属性和方法
let newObj = (function(){
let obj = {
x : 10,
y : 100,
z : 1000
}
return new Proxy(obj,{
get(obj,property){
if (property != 'x'){
return obj[property]
}
}
})
})();
console.log(newObj.x) //undefined
console.log(newObj.y) //
Object.prototype.toString
理解:转换成字符串
let a = Object.prototype.toString;
console.log(a.call("aaa")); //[object String]
console.log(a.call(1)); //[object Number]
console.log(a.call(true)); //[object Boolean]
console.log(a.call(null)); //[object Null]
console.log(a.call(undefined)); //[object Undefined]
console.log(a.call([])); //[object Array]
console.log(a.call(function() {})); //[object Function]
console.log(a.call({})); //[object Object]
属性的遍历
对象的API的更多相关文章
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- JavaScript 对象所有API解析【2020版】
JavaScript 对象所有API解析[2020版] 写于 2019年08月20日,虽然是2019年写的文章,但现在2020年依旧不过时,现在补充了2019年新增的ES10 Object.fromE ...
- JSP - 9大内置对象及其API
内置对象:不需要预先声明就可以在脚本代码和表达式中随意使用,有以下特点 1.由JSP规范提供,不用编写者实例化 2.提供Web容器实现和管理 3.所有JSP页面均可用 4.只有在脚本元素的表达式或者代 ...
- js学习---常用的内置对象(API)小结 :
内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份 如:2016 getMonth() 返回月份,从0开始 getDate() 返回当前月的第几天,当 ...
- grunt对象之api
grunt已经扯了七篇了,殊为不易.最后一篇扯点早应该提及的东西,就是module.exports = function(grunt) {}传入的这个grunt.之前的代码grunt一般只出现在Gru ...
- JQUERY-事件-动画-类数组对象-添加自定义API
正课: 1. 事件: 2. 动画: 3. 类数组对象操作: 4. 添加自定义API: 1. 事件: 1. 页面加载后执行: 2个时机 1. DOM内容加载完成: 仅包括html, js DOMCont ...
- 字符串、数组、对象常用API
常用的字符串API 1.常见方法和属性 length 属性,获取字符串的字符数量 charAt(i) 返回给定位置的字符 charCodeAt( ) 返回给定位置的字符的字符编码 <scrip ...
- Servlet中常用对象及API类之间的关系
Servlet最常用的对象: 请求对象:ServletRequest和HttpServletRequest,通过该对象获取来自客户端的请求信息 响应对象:ServletResponse和HttpSer ...
- 数组和对象常用API
数组API: 1. forEach 遍历所有元素 var arr = [1,2,3] arr.forEach(function(item,index){ // 遍历数组的所有元素 console.lo ...
- Java 其他对象的 API
System 类 (java.lang 包下) 该类中的方法和属性都是静态的. 常见方法 // 1, 获取当前时间的毫秒值 long currentTimeMillis(); // 2, 获取系统的属 ...
随机推荐
- python基础(八)
一.token加盐处理# import itsdangerous## salt='sdf234^#$@G'# t = itsdangerous.TimedJSONWebSignatureSeriali ...
- vue 基础重要组件 模板指令 事件绑定
组件:data methods watch new vue({ data:{ a:1, b:[] }, methods:{ dosomething:function(){ this.a++; } }, ...
- 2.4 逻辑运算符 &&(与)、||(或)、非(!)
一.逻辑运算符 &&(与).||(或).非(!) 逻辑运算符两边的表达式一定是布尔值,结果也是布尔值. 1.1.1 逻辑与 && => 表示并且.且的意思: tr ...
- vue-----表单与组件
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...
- SQL Server 快速大数据排序方法
SQL Server 中虽然有 ORDER BY NewID() 方法,但对于数据量比较大的结果集来说,排序那慢的可不是一星半点. 微软官方给了一种方案,https://msdn.microsoft. ...
- 面试题-Python高级
元类 Python 中类方法.类实例方法.静态方法有何区别? 类方法:是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为cls, 表示类对象,类对象和实例对象都可调用: ...
- MySQL必知必会第十一章-
使用数据处理函数 大多数SQL支持以下类型的函数: 1> 文本函数:用于处理文本串(删除或填充值,转换值为大写或小写) 2> 数值函数:用于在数值数据上进行算术操作(返回绝对值,进行代数运 ...
- 【转】linux scp远程拷贝文件及文件夹
转自:http://www.jb51.net/LINUXjishu/73131.html 1.拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/r ...
- Teamviewer远程控制
设置无人值守的固定密码,不使用随机码进行远程控制访问 设置好密码之后,以后只要通过Teamviewer生成的固定ID,再加上你设置的密码就可以随时进行远程访问了,而不需要使用生成的随机码.
- Linux中安装nodejs及插件
Linux中安装nodejs及插件 1.去官网下载安装包 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 ...