对象的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, 获取系统的属 ...
随机推荐
- CrawlSpider模板
crawlSpider 创建CrawlSpider模板 scrapy genspider -t crawl <爬虫名字> <域名> 模板代码示例: # -*- coding: ...
- java 线程理解
import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util. ...
- python 解析命令行
python中的命令行解析最简单最原始的方法是使用sys.argv来实现,更高级的可以使用argparse这个模块.argparse从python 2.7开始被加入到标准库中,所以如果你的python ...
- return,break,continue三者区别
详解:http://www.cnblogs.com/yangdabao/p/6172210.html return:直接结束这个方法,后面所有代码不再执行,不管循坏外,还是循环内,全部停止,直接返回 ...
- Open Distro for Elasticsearch – How Different Is It?
转自:https://logz.io/blog/open-distro-for-elasticsearch Last month, AWS announced an initiative called ...
- Devexpress之LayoutControl的使用及其控件布局设计
引言 Devexpress给我们提供了更加美观.更加丰富控件,但在学习和使用的同时经常会遇到诸多麻烦.今天在使用Devexpress的LayoutControl控件进行界面控件的布局设计时遇到了如下的 ...
- flutter 容器 几种写法
1.Stack: 取代线性布局 (译者语:和Android中的LinearLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下 ...
- Vue.js 父子组件之间通信的方式
Vue 父子组件之间的同学有一下几种方式: 1. props 2. $emit -- 组件封装用的比较多 3. .sync -- 语法糖 4. $attrs 和 $listeners -- 组件封装用 ...
- 使用QTP12.2录制windows applications,没有脚本产生
使用QTP12.2录制windows applications,没有脚本产生解决方案:关闭电脑的杀毒软件和安全卫士,再进行录制,所有步骤录制成功.录制QTP自带程序flight,选择windows a ...
- springboot Cacheable(redis),解决key乱码问题
import org.springframework.context.annotation.Bean; import org.springframework.data.redis.core.Redis ...