JavaScript 反射和属性赋值实例解析

这篇文章主要介绍了JavaScript 反射和属性赋值实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java和.NET都有着比较完善的反射机制,用来处理未知的对象并获取它们的属性和方法。JavaScript虽然没有完善的反射体系,但在编程的时候还是可以通过代码设计来实现类似反射的基本功能。

function Antzone(){
 this.webName="蚂蚁部落";
 this.age=6;
}
Antzone.prototype={
 address:"青岛市南区"
}
var auth = {
  ADD:false,
  LIST:false,
  EXPORT:false,
  IMPORT:false,
  SEARCH:false
};
console.log(Object.keys(auth));
var auth1 = ["ADD","LIST","SEARCH"];
let antzone=new Antzone();
console.log(Object.getOwnPropertyNames(antzone));
var names = Object.getOwnPropertyNames(auth);
console.log(names);
if(auth1.length > 0){
  for(var i=0;i<names.length;i++){
    for(var j=0;j<auth1.length;j++){
      if(auth1[j] == names[i]){
        auth[names[i]]=true;
        break;
      }
    }
  }
}
console.log(auth);

结果:

js output
console.log: ["ADD", "LIST", "EXPORT", "IMPORT", "SEARCH"]
console.log: ["webName", "age"]
console.log: ["ADD", "LIST", "EXPORT", "IMPORT", "SEARCH"]
console.log:
{
   ADD: true
   LIST: true
   EXPORT: false
   IMPORT: false
   SEARCH: true
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • JavaScript对象反射用法实例

    本文实例讲述了JavaScript对象反射用法.分享给大家供大家参考.具体如下: 这里讲述JavaScript对象反射用法,涉及反射DOM对象和自定义对象 <html> <head> <title>JavaScript反射工具</title> <style type="text/css"> #show{ width:400px;height:300px; border:red solid 1px; overflow:scrol

  • java反射实现javabean转json实例代码

    ObjectToJson.java 复制代码 代码如下: package com.ObjectToJson; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Iterator; public class ObjectToJson {

  • vue.js input框之间赋值方法

    如下所示: demo.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Index Page</title> </head> <body> <form action="" id="demo"> <input type="text" va

  • JS实现给json数组动态赋值的方法示例

    本文实例讲述了JS实现给json数组动态赋值的方法.分享给大家供大家参考,具体如下: json 数组也是数组: //1. var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+jsonstr+')'); var arr = { "name" : $('#names').val(), "value" : $('#values')

  • JavaScript反射与依赖注入实例详解

    本文实例讲述了JavaScript反射与依赖注入.分享给大家供大家参考,具体如下: 对于javascript中的反射的理解,一直都是认为,利用数组对回调函数进行保存,之后在适当的时刻利用call或是apply 方法,对回调进行调用即可,一般如下操作: 首先定义两个方法: var service = function() { return { name: 'Service' }; } var router = function() { return { name: 'Router' }; } 我们

  • ES6 如何改变JS内置行为的代理与反射

    代理(Proxy)可以拦截并改变 JS 引擎的底层操作,如数据读取.属性定义.函数构造等一系列操作.ES6 通过对这些底层内置对象的代理陷阱和反射函数,让开发者能进一步接近 JS 引擎的能力. 一.代理与反射的基本概念 什么是代理和反射呢? 代理是用来替代另一个对象(target),JS 通过new Proxy()创建一个目标对象的代理,该代理与该目标对象表面上可以被当作同一个对象来对待. 当目标对象上的进行一些特定的底层操作时,代理允许你拦截这些操作并且覆写它,而这原本只是 JS 引擎的内部能

  • JS的反射问题

    复制代码 代码如下: <html> <head><title>JS反射</title> <script type="text/javascript"> /* * 反射 */ function forwindow() { for (var i in window) { /*循环 if (window[i] === "wsenmin") { /* 三个等号,先比较类型 return i; /* 类型如果不同的话

  • AJAX JavaScript反射机制的介绍

    什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息.例如一个对象能够在运行时知道自己有哪些方法和属性. 在JavaScript中利用for(-in-)语句实现反射 在JavaScript中有一个很方便的语法来实现反射,即for(-in-)语句,其语法如下: for(var p in obj){ //语句 } 这里var p表示声明的一个变量,用以存储对象obj的属性(方法)名称,有了对象名和属性(方法)名,就可以使用方括号语法来调用一个对象的属性(方法): 复制代码 代码如下: for

  • JavaScript 反射和属性赋值实例解析

    这篇文章主要介绍了JavaScript 反射和属性赋值实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java和.NET都有着比较完善的反射机制,用来处理未知的对象并获取它们的属性和方法.JavaScript虽然没有完善的反射体系,但在编程的时候还是可以通过代码设计来实现类似反射的基本功能. function Antzone(){ this.webName="蚂蚁部落"; this.age=6; } Antzone.proto

  • JavaScript对象属性操作实例解析

    这篇文章主要介绍了JavaScript对象属性操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在js对象中,我们可以对对象属性进行操作. 上图的要点为:for-in会把原型链上的可枚举属性也列出来. 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined,从而在赋值过程中不报错. 上图的要点为: 1.delete不存在的属性,依旧返回true. 2.Object.getOwnPropertyDescrip

  • JavaScript中this函数使用实例解析

    这篇文章主要介绍了JavaScript中this函数使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 普通函数 普通函数中的this,普通函数中的this表示调用此函数时的对象,如下例: var x=11; var obj={ x:22, say:function(){ console.log(this.x) } } obj.say(); //console.log输出的是22 //调用say函数的是对象obj,所以this指代对象o

  • JavaScript事件冒泡机制原理实例解析

    这篇文章主要介绍了JavaScript事件冒泡机制原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 DOM事件流(event flow )存在三个阶段:事件捕获阶段.处于目标阶段.事件冒泡阶段,事件冒泡顺序是由内到外进行事件传播,事件冒泡是由IE开发团队提出来的,即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播. 听了简介介绍之后,您可能不理解,所以举个例子: <html> <head>

  • Javascript组合继承方法代码实例解析

    组合继承 组合继承,指将原型链和借用构造函数的技术组合到一块,从而发挥二者之长的一种继承模式.其背后思路使用用原型链实现对原型属性和方法的继承,而通过构造函数来实现对实例属性的继承.这样,即通过在原型上定义方法实现了函数复用,又能够保证每个实例都有它自己的属性. 下面来看一个例子 function SuperType(name) { this.name = name; this.color = ['red', 'blue', 'green']; }; // SuperType.prototype

  • JavaScript undefined及null区别实例解析

    在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价. undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等. if (!undefined) console.log('undefined is false'); // undefined is false if (!

  • JavaScript Image对象实现原理实例解析

    一.JavaScript Image对象 整理 Image 对象 Image 对象代表嵌入的图像. <img> 标签每出现一次,一个 Image 对象就会被创建. Image 对象属性 W3C: W3C 标准. 属性 描述 W3C align 设置或返回与内联内容的对齐方式. Yes alt 设置或返回无法显示图像时的替代文本. Yes border 设置或返回图像周围的边框. Yes complete 返回浏览器是否已完成对图像的加载. No height 设置或返回图像的高度. Yes h

  • JavaScript async/await原理及实例解析

    随着Node 7的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await. 异步编程的最高境界,就是根本不用关心它是不是异步. async 函数就是隧道尽头的亮光,很多人认为它是异步操作的终极解决方案. async 和 await 起了什么作用 async 起什么作用 这个问题的关键在于,async 函数是怎么处理它的返回值的! 我们当然希望它能直接通过return语句返回我们想要的值,但是如果真是这样,似乎就没 await 什么事了.所以,写段代码来试试,看它到底会返回

  • Python类反射机制使用实例解析

    这篇文章主要介绍了Python类反射机制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 反射就是通过字符串的形式,导入模块:通过字符串的形式,去模块寻找指定函数并执行. Python有四个内置函数: 函数 功能 getattr(object, attr[, default]) 获取指定字符串名称的对象属性或方法,如果对象有该属性则返回属性值,如果有该方法则返回该方法的内存地址,如果都没有就报错,如果指定了默认值找不到不会报错会取默认

随机推荐