摘要:
1. var name = 'the window'; var obj = { name:"my obj", getNameFunc:function(){ return function(){ return this.name; } } }; alert(obj.getNameFunc()()); 阅读全文
摘要:
DTM(Digital Terrain Model):数字地面模型,是一个表示地面特征空间分布的数据库,一般用一系列地面点坐 标(x,y,z)及地表属性(目标类别、特征等)绗成数据阵列,以此组成数字地面模型。 DEM(Digital Elevation Model):数字高程模型,是一定范围内规则格 阅读全文
摘要:
在将内部函数作为函数的返回值的时候,由于闭包的存在会携带上内部函数所使用的外部函数的变量,如果这些变量很多或者很大,那么在使用完返回的内部函数后最好将其置为null以便释放闭包中的携带变量,一面造成内部占用过大的问题。如: function fn1(){ var a = new Arrar()[10 阅读全文
摘要:
利用闭包的特点,我们可以在封装自己的模块的时候只向外暴露我们模块中的数据,而不让其修改。 1.第一中封装的方式,新建一个myModule.js文件,这个模块的作用是对外部提供明天和后天的天气。 在myModule.js中: function myModule(){ var tomorrow = '晴 阅读全文
摘要:
1.首先看一段代码: var a = 1; function fn1(){ var b = 2; function fn2(){ console.log(a); console.log(b); } } fn1(); 我们在var b =2;这句代码打上断点,在chrome浏览器中进行调试,可以看到f 阅读全文
摘要:
在JS代码执行之前会首先创建一个全局作用域,里面有所有的定义的变量。 在函数定义的时候也会创建一个函数的作用域,作用域中包含了该函数中所定义的变量。 具体还没有理解很清楚,感觉作用域和执行上下文很像。 就是当在函数执行的代码中使用到某个变量的时候,它首先会在自己的作用域中找该变量,如果找不到就去上一 阅读全文
摘要:
在执行JS代码时候,可以看成是在执行一个全局函数的代码,在这个全局函数的代码体中又有可能执行了很多个局部函数。 JS中在执行函数的时候会为函数创建一个执行的上下文用来保存在函数中创建的变量等数据,当函数执行完之后会销毁创建的该执行上下文。 这个执行上下文,不是一个对象,因为它只是在栈中开辟了一块内存 阅读全文
摘要:
JS代码在执行的时候会先找出执行代码中定义的变量和函数,对其进行声明。 例1:console.log(a); var a = 4; 此时输出undefined。a变量在执行console.log(a);这条语句之前就已经被定义了只是没有赋值。实际的执行顺序是:var a ; console.log( 阅读全文
摘要:
根据在创建对象的时候,创建出来的对象的__proto__指向创建这个对象的函数的prototype属性。 由于在调用对象的属性或者方法的时候会首先在对象的作用域中查找指定的属性或者方法,如果未找到则会去对象的原型链(即__proto__对象)上查找。所以可以在自定义函数的时候往函数的prototyp 阅读全文
摘要:
一些个人的理解,不一定是对的,仅供参考。 在JS中有函数和对象两个概念,而又有一切皆对象的概念及函数也是一个对象。所以可以说函数一定可以作为一个对象,而对象不一定是一个函数。 也可以说在js中对象分为两种:1.仅仅是一个对象2.既时对象又是函数(以下称为函数对象) 在JS中有一个概念:所有对象都有_ 阅读全文