forEach、for-in与for-of的区别

forEach介绍objArr.forEach(function (value){ console.log(value); });foreach 方法没办法使用break语句跳出循环,或者使用return从函数体内返回for-in介绍for(var index in objArr){ console.log(objArr[index]) }以上代码会出现的问题index值会是字符串

- 阅读全文 -

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

- 阅读全文 -

深入理解javascript原型和闭包(1)——一切都是对象

“一切都是对象“这句话重点在于去如何理解"对象"这个额概当然,也不是所有的都是对象,值类型就不是对象首先还是看看JavaScript中常用的运算符typeoftypeof 函数输出一共有几种类型,在此列出function show(x){ console.log(typeof x);//undefined console.log(typeof 10);//number co

- 阅读全文 -

深入理解JavaScript原型和闭包 -- This用法

接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要在函数中this到底取何值,实在函数真正被调用执行的时候确定的,函数定义的时候确定不来因为this的取值是执行上下文环境的一部分,每次调用函数,都会产生一个新的执行上下文环境。this的取值,分为四种情况情况1:构造函数所谓构造函数就是用来new对象的函数,其实严格来说,所有的函数都可以new

- 阅读全文 -