反射,减少对全局变量的污染

 1 <script type="text/javascript">
 2     /*反射*/
 3     typeof flight.number     //‘number‘
 4     typeof flight.status    //‘string‘
 5     typeof flight.arrival    //‘object‘
 6     typeof flight.manifest    //‘undefined‘
 7
 8     typeof flight.toString     //‘function‘
 9     typeof flight.constructor//‘function‘
10
11     flight.hasOwnProperty(‘number‘)        //true
12     flight.hasOwnProperty(‘constructor‘)//false
13
14     /*减少全局变量的污染*/
15     全局变量削弱了程序的灵活性,尽量避免
16     var Mapp={};
17     Mapp.stooge={
18         "first-name":"Joe",
19         "last-name":"Howard"
20     };
21     Mapp.flight={
22         airline:"Oceanic",
23         number:815,
24         departure:{
25             IATA:"SYD",
26             time:"2004-09-22 14:55",
27             city:"Sydney"
28         },
29         arrival:{
30             IATA:"LAX",
31             time:"2004-09-23 10:42",
32             city:"Los Angeles"
33         }
34     };
35     </script> 
时间: 2024-11-10 13:39:43

反射,减少对全局变量的污染的相关文章

解决全局变量污染问题

什么是污染-------->全局变量就是污染.常用的解决污染的几种方式a.函数b.对象c.命名空间d.立即函数 函数和对象就是我们把变量放到函数或者对象里,成为局部变量,通过访问函数内的变量来获取想要得到的内容,这个就不详细解释了. 这里引入一个命名空间的例子:这样进行访问会很大程度降低污染问题了. /*顶级 一级*/ var demo={};//根部 /*二级*/ demo.web={ sum:10, tab:function(){} }; demo.finance = { sum:20, t

变量作用域问题,全局变量污染

<script> function fun1(){ max = 5;//注意 此处max虽在函数内,但没var声明 } fun1(); //这里调用fun1()相当于在全局var了一个max变量 function fun2(){ max = 10;//此处更改了全局变量max,fun()1中的max也被更改,就是全局变量被污染.fun1()变量被污染的根源是因为他没保护好自己的变量max,如果函数内要声明被保护的变量必须加var,不可能在方法外改变方法内的变量,只能向上爬树 } fun2();

nodejs学习笔记 -- 全局对象与全局变量

全局对象 在浏览器Javascript中,window是全局对象,而Node.js中全局对象是global,所有全局变量(除了global本身以外)都是global对象的属性. 在Node.js中,我们可以直接访问到global的属性,而不需要在应用中包含它. 全局变量 global 最根本的作用是作为全局变量的宿主.按照 ECMAScript 的定义,满足以下条 件的变量是全局变量: 1.在最外层定义的变量: 2.全局对象的属性: 3.隐式定义的变量(未定义直接赋值的变量). 定义一个全局变量

【node.js】全局变量、常用工具、文件系统

学习链接:http://www.runoob.com/nodejs/nodejs-global-object.html 在 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性. 全局对象与全局变量 注意: 永远使用 var 定义变量以避免引入全局变量,因为全局变量会污染 命名空间,提高代码的耦合风险. __filename __dirname setTimeout

ios反射

http://www.cr173.com/html/18677_1.html Obj-C语言开发iOS项目使用反射减少代码工作 最近在一个iOS项目中,利用到了Obj-c语言的运行时反射特性,来减少一些代码编写的工作量,特记录下来.移动互联网下iOS客户端的开发,一般都会与服务端进行通讯,也会使用到Sqlite数据库来保存一些数据,按常规的搞法,一般都需要手动建表结构,写实体类对象,然后写插入.更新.查询等语句来实现功能,因此想到是否有一种通用的办法来进行一些代码方面的减负工作.通过这个项目的实

Nodejs学习笔记(七)----- 路由和全局变量

Node.js 路由 (基于express的web框架还有许多好用的,现在理解这些就行了) 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码. 因此,我们需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST 参数.这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能. 我们需要的所有数据都会包含在 request 对象中,该对象作为 onReque

Nodejs开发指南-笔记

第三章 异步式I/O与事件编程3.1 npm install -g supervisor supervisor app.js 当后台修改代码后,服务器自动重启,生效修改的代码,不用手动停止/启动3.2 单线程异步I/O 减少了多线程的开销,对于操作系统,创建线程的开销很大,需分配内存.列入调度.同时线程切换时 需要内存换页,CPU的缓存被清空,切换回来时,需要重新从内存中读取信息,破坏了数据的局部性. 异步读取文件: var fs = require('fs') fs.readFile('tes

前端知识杂烩(Javascript篇)

1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区别?4.webSocket如何兼容低浏览器?(阿里)5.this和它声明环境无关,而完全取决于他的执行环境6.JavaScript异步编程常用的四种方法7.在严格模式('use strict')下进行 JavaScript 开发有神马好处?8.神马是 NaN,它的类型是神马?怎么测试一个值是否等于

【设计模式】单例模式-孤独是一个人的狂欢

单例模式 使用单例模式,可以确保在整个系统中仅有该类的一个实例.此外,单例模式的类会提供一个访问类实例的全局访问点.相比使用关键字 new来直接实例化一个对象 ,使用单例模式,将对象的创建"委托"给了类的一个静态方法.在该静态方法中实现对象的实例化并将其返回,同时该方法的执行过程也提供了控制实例化对象的时机. 1. 定义 该模式确保一个类只有一个实例,并提供一个全局访问点. 2. 为什么需要 对于一些类来说,只有一个实例是很重要的,且有些类只应该存在一个实例.比如,线程池.缓存.日志对