由作用域安全的构造函数想到的
PHP中定义的每一个变量对象,都是$GLOBALS的属性,因为PHP本身就是面向对象的,但是JavaScript的核心语法是面向过程的,ECMAScript 标准没有规定全局对象的类型,JavaScript 的实现或嵌入的 JavaScript 都可以把任意类型的对象作为全局对象,只要该对象定义了这里列出的基本属性和函数。
这里就有一个问题,JavaScript定义的变量,对象属于哪个全局对象?window吗?
var age = 100;function Person( name , age ,gender ){this.name = name;this.age = age;this.gender = gender}console.log( age );//100var p2 = Person("zhang",30,"female");console.log( window.age );//30console.log( age );//100
由于没有使用new操作符,结果导致window对象上被增加了三个属性,但是全局中定义的同名属性值并没有被覆盖,由此可见JavaScript中定义的变量并不属于window
转载于:https://www.cnblogs.com/diantao/p/6259342.html
由作用域安全的构造函数想到的相关推荐
- 如何写一个作用域安全的构造函数
基础部分 构造函数本质上就是一个使用new操作符调用的函数,使用new调用时,构造函数内用到的this对象会指向新创建的对象实例: function Girlfriend(name, age, hei ...
- Javascript作用域问题的构造函数的变量
构造函数new对于使用.代表创建对象.此外,它可以被用作普通的函数调用,因为它也是一个功能. function Person(name) {this.name=name; }Person(12); a ...
- 作用域安全的构造函数
一般构造函数定义和调用如下: function Person(name,age,job) { this.name=name; this.age=age; this.job=job; ...
- 相学java_从这两套题,重新认识JS的this、作用域、闭包、对象
日常开发中,我们经常用到this.例如用Jquery绑定事件时,this指向触发事件的DOM元素:编写Vue.React组件时,this指向组件本身.对于新手来说,常会用一种意会的感觉去判断this的 ...
- 《JavaScript忍者秘籍》(第二版)- 第5章 -精通函数:闭包和作用域
目录 第5章 精通函数:闭包和作用域 5.1 理解闭包 5.2 使用闭包 5.2.1 封装私有变量 5.2.2 回调函数 5.3 通过执行上下文来跟踪代码 5.4 使用词法环境跟踪变量的作用域 5.4 ...
- js 设计模式与继承学习
设计模式 创建自定义对象的最简单方式是new 一个object对象,然后给它添加方法与属性 如: 1 var person = new Object(); 2 person.name = " ...
- 前端面试送命题(一)-JS三座大山
前言 本篇文章比较适合3年以上的前端工作者,JS三座大山分别指:原型与原型链,作用域及闭包,异步和单线程. 原型与原型链 说到原型,就不得不提一下构造函数,首先我们看下面一个简单的例子: functi ...
- 前端面试送命题-JS三座大山
前言 本篇文章比较适合3年以上的前端工作者,JS三座大山分别指:原型与原型链,作用域及闭包,异步和单线程. 原型与原型链 说到原型,就不得不提一下构造函数,首先我们看下面一个简单的例子: functi ...
- Spring-Core 中文翻译+总结文档(上)
Spring - Core 引言 使用版本 5.2.5RELEASE 这一部分的文档覆盖了几乎所有的Spring 框架的技术,Spring框架最主要的控制反转(IOC容器),在对Spring框架的IO ...
最新文章
- 提取nds游戏的音乐
- guid主分区表损坏怎么办_遇到水泥球磨机温度升高的现象应该怎么办
- 问题 A: 青蛙约会(数学)
- STL模板整理 set
- 【渝粤教育】广东开放大学 标准化理论与方法 形成性考核 (53)
- 巧用枚举CommandBehavior关闭SqlDataReader联接数据库时的conn.open状态
- html css图片展开动画,8个实用炫酷的HTML5图片动画应用
- msf 生成php马_PHP的性能优化方法总结
- 《深入理解计算机系统》速读提问
- 12. Magento 后台top栏开发
- .Top域名:新顶级域名还原互联网安全发展
- 破解tinypng文件上传的限制
- 常用音频单位简介:dBSPL、dBm、dBu、dBV、dBFS
- 寻找春天nbsp;九宫格日记-2012.08.03
- Mac,Windows11,Windows10局域网互传共享文件
- Win7本地溢出exploit提权-CVE-2018-8120
- win7关闭系统索引服务器,win7系统彻底关闭索引的恢复步骤
- linux tcp 113错误,linux系统报tcp_mark_head_lost错误的处理方法
- java iText 的jar导出pdf格式,禁止浏览器预览,直接下载功能
- 烤仔观察 | 从蓝海到红海,科技巨头们和他们元宇宙世界
热门文章
- HDU Problem - 2732 Leapin' Lizards(最大流,拆点建边)
- Python装饰器学习笔记
- new / delete与malloc / free的异同及实现原理
- c++静态成员变量使用前必须初始化,那么下面这个例子为什么不用初始化?
- html代码class=,css class是啥?
- Hadoop IO 文件压缩 序列化
- bean定义的继承 - Spring Framework reference 2.0.5 参考手册中文版
- Eclipse-cvs指南
- JFree chart
- 用Python操作Redis