JavaScript中只声明但没有初始化的变量和未声明的变量以及null/undefined的区别

只声明但没有初始化的变量和未声明的变量以及null/undefined的区别声明但没有初始化的变量var aa; alert(aa);浏览器会弹出窗口显示 undefined.因为对于使用了 var 声明但没有进行初始化定义的变量, 其值默认为 undefined.未声明的变量(1)alert(aa);浏览器不会弹出任何东西. 因为 aa 是没有声明的变量.打开 chrome 浏览器的控制台会看到

- 阅读全文 -

深入理解javascript原型和闭包(4)——隐式原型

注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看《javascript高级程序设计(第三版)》第6章:面向对象的程序设计。上节已经提到每个函数function都有一个prototype,既原型,这里在加上一句话——每个对象都有一个__proto__可成为隐式原型这个__proto__是一个隐藏的属性,JavaScript不希望开发者用到这个属性,

- 阅读全文 -

深入理解javascript原型和闭包(3)——prototype原型

人家默认给的函数一个属性————prototype对,每个函数都有一个属性家偶偶prototype这个prototype的属性值是一个对象(属性的集合 再次强调)默认的只有一个叫做constructor的属性,指向函数本身SuperType是是一个函数,右侧的方框就是它的原型。原型既然是最为对象,属性的集合,不可能就只弄个constructor来玩玩,肯定可以自定义的增加许多属性。例如Object

- 阅读全文 -

深入理解javascript原型和闭包(2)——函数和对象的关系

函数就是对象的一种,因为可以通过instanceof函数可以判断var fn=function(){ }; console.log(fn instanceof Object);//true对!函数是一种对象,但是函数却不像数组一样——你可以说数组是对象的一种,,却不仅仅是一种包含关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑ex:function Fn{ this.nam

- 阅读全文 -

深入理解javascript原型和闭包

本站系列内容以王福朋博客版本为基准,增加个人见解和看法。深入理解javascript原型和闭包(0)——目录深入理解javascript原型和闭包(1)——一切都是对象深入理解javascript原型和闭包(2)——函数和对象的关系深入理解javascript原型和闭包(3)——prototype原型深入理解javascript原型和闭包(4)——隐式原型深入理解javascript原型和闭包(5

- 阅读全文 -