首页 > 其他 > 详细

由作用域安全的构造函数想到的

时间:2017-01-07 15:20:52      阅读:190      评论:0      收藏:0      [点我收藏+]

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 );//100
    var p2 = Person("zhang",30,"female");
    console.log( window.age );//30
    console.log( age );//100

由于没有使用new操作符,结果导致window对象上被增加了三个属性,但是全局中定义的同名属性值并没有被覆盖,由此可见JavaScript中定义的变量并不属于window

由作用域安全的构造函数想到的

原文:http://www.cnblogs.com/diantao/p/6259342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!