让js的forin循环禁止forin到某个属性的话要怎么做
2023-09-11 14:17:26 时间
//知识点1:for In循环是可以枚举到继承的属性的;
//知识点2:使用defineProperty让属性无法通过forIn枚举到;
//知识点3:用definedProperty重新定义一个属性药把这个属性设置为空,然后重新定义才行哦;
var obj = {}; Object.defineProperty(obj, "name", { get : function() {return 1}, enumberable : false }); //使用ECMA5中的defineProperty可以让自定义属性不可枚举; for( prop in obj ){ console.log(prop) //name是无法枚举到的; }; function extend( _super ) { var F = function() {}; F.prototype = _super; return (new F); }; var Fn = function(){}; Fn.prototype = { constructor : Fn, __prop______ : "super" }; var subInstance = extend( new Fn() ); //for in 循环是可以枚举到父级的继承属性的; for(var prop in subInstance) console.log(prop)//constructor ,__prop______ //要让继承的属性也无法枚举到,那就在父级中设置enumberable; Object.defineProperty(Fn.prototype, "_test",{ enumberable : false , value : "__new_super" }); //PS,如果你重新定义__prop____为不可以枚举不可行,必须要把__prop____设置为空然后重新定义不可以枚举的属性才行; Fn.prototype.__prop______ = undefined; Object.defineProperty(Fn.prototype, "__prop______",{ enumberable : false , value : "_new___prop______" }); var subInstance = extend( new Fn() ); for(var prop in subInstance); console.log(prop)//constructor ,__prop______
相关文章
- JS框架_(JQuery.js)纯css3进度条动画
- JS框架_(JQuery.js)网页文字评论弹幕
- JS框架_(Popup.js)3D对话框窗口插件
- js函数前加分号和感叹号的作用
- Js基础知识5-函数返回值、函数参数、函数属性、函数方法
- js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange
- JS插件之——bootstrap-suggest.js
- Node.js进程管理之进程集群
- js {}与class属性描述符的区别
- [Whole Web, Node.js, PM2] Restarting your node.js app on code change using pm2
- [Node.js]30. Level 6: Listen 'Question' from client, and then Answer the Question
- js的insertRow和insertCell用法
- [JS Compose] 7. Ensure failsafe combination using monoids
- 让Visual Studio 也支持JS代码折叠 —— 续 [ Visual Studio | Js | ScriptOutline | SmallOutline ]
- [SVG] JS 动态加载 svg 修改 svg 属性
- Component Configuration.js - 所有支持属性列表 - configuration priority
- Atitit stomp.js conn连接activemq 目录 1.1. activemq 启动,已经默认开启了stomp ws的接口。。地址是1 1.2. Js 客户端代码1 1.3
- 第65篇 QML 之 JS中的对象创建、删除属性、遍历对象
- node.js JS对象和JSON字符串之间的转换
- JS中修改元素内容,属性,样式的方法【详解】
- JS中Math.random()方法的使用总结
- 【JS高级】js之闭包对象_04
- JS工具方法 3 js客户端与php服务器通信加密之AES