JavaScript
文章平均质量分 80
crediks
这个作者很懒,什么都没留下…
展开
-
浅谈Javascript的匿名函数中的this对象
在一般情况下,this对象时在运行时基于函数的执行环境绑定的:在全局函数中,this原创 2014-11-06 21:59:52 · 7913 阅读 · 2 评论 -
javascript 延长作用域链 与没有块级作用域
转自javascript高级程序设计(第三版):javascript的执行环境的类型共有两种:全局和局部(函数)。不过可以通过别的方法来延长作用域链。1)try-catch语句的catch块2)with语句对于with语句来说,会将指定的对象添加到作用域的前面。也就是说,如果在局部环境中,使用with语句,对象会添加到局部环境中;如果在全局环境中,使用with语句,对象会添原创 2015-08-10 10:45:41 · 2008 阅读 · 0 评论 -
js ==与===区别(两个等号与三个等号)
转自:新浪博客-hugh-js ==与===区别(两个等号与三个等号)1、对于string,number等基础类型,==和===是有区别的1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等2)同类型比较,直接进行“值”比较,两者结果一样2、对于Array,Object等高级类型,==和===是没有区转载 2015-09-08 15:56:33 · 462 阅读 · 0 评论 -
javascript中加法操作符与减法操作符在字符串与数字相加时的区别
先来看两个例子:var foo = "11"+2;console.log(foo);//112console.log(typeof foo);//stringvar foo = "11"+2-"1";console.log(foo);//111console.log(typeof foo);//number对于加法操作费用(+)的用法,如果操作数中含有字符串,那么就要应用如下规原创 2015-09-08 17:00:34 · 3722 阅读 · 0 评论 -
javascript中执行类型的转换规则
首先,来看一段代码:contextMenu Event Examplewindow.onload = function(){var undefined;alert(undefined == null); // truealert(2 == true); // true2 == true; // false0 == false; // true0 == '原创 2015-09-08 16:22:06 · 452 阅读 · 0 评论 -
javascript中array类型的重排序方法
1)reverse()方法:会反转数组项的顺序var values = [1,2,3,4,5];values.reverse();alert(values);//5,4,3,2,12)在默认情况下,sort()方法按照升序排列数组项,即最小的值位于最前面,最大的值位于最后面。为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以便确定如何原创 2015-09-08 19:57:18 · 506 阅读 · 0 评论 -
Javascript 私有变量
转自Javascript高级程序设计(第三版):任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。私有变量包括函数的参数,局部变量以及在函数内部定义的其他函数。如果在函数内部创建一个闭包,那么闭包可以通过自己的作用域链访问这些变量。而利用这一点,就可以创建用于访问私有变量的公有方法。我们把有权访问私有变量和私有函数的公有方法称为特权方法。有两种在对象中创建原创 2015-08-14 11:45:53 · 4002 阅读 · 4 评论 -
javascript递归与闭包
转自Javascript高级程序设计(第三版):定义函数的方法有两种:一种是函数声明,另一种是函数表达式。关于函数声明,最重要的特征就是:函数声明提升(function declaration hoisting),也就是在执行代码之前会读取函数声明。这就意味着可以把函数声明放在调用它的语句后面。function test(){ sayHi();}function sayHi(原创 2015-08-13 10:28:47 · 1383 阅读 · 0 评论 -
javascript 变量
转自javascript 高级程序设计(第三版):javascript基本类型:Undefined,Null,Boolean,Number,String这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。javascript引用类型:引用类型的值是保存在内存中的对象。引用类型是按照引用访问的,因为是操作对象的引用而不是实际的对象。操作的区别:原创 2015-07-31 17:21:57 · 310 阅读 · 0 评论 -
javascript 模仿块级作用域
转自JavaScript高级程序设计i(第三版):javascript没有块级作用域的概念,只有两个环境,函数环境和全局环境。function test(){for(var i=0;i<10;i++){ }alert(i);//10}function test(){for(var i=0;i<10;i++){ }var i;//重新声明变量alert(i);//10原创 2015-08-13 11:06:48 · 501 阅读 · 0 评论 -
javascript 数组类型
转自 Javascript高级程序设计(第三版):ECMAScript数组中的每一项都可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二个位置来保存数值,用第三个位置来保存对象,依次类推。而且,ECMAScript数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新数据。创建数组的基本方式有两种:1)使用Array构造函数:使用new操作符:原创 2015-08-12 09:46:58 · 456 阅读 · 0 评论 -
javascript理解参数
摘自javaScript高级程序设计(第三版):ECMAScript函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript函数不介意传递进来多少个参数,也不介意传递进来参数是什么数据类型。原因是:ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数(如果有参数的话)。实际上,在函数体内可以通过arguments对象来原创 2015-07-29 17:27:15 · 359 阅读 · 0 评论 -
Javacript陷阱
--内容转自《D3设计交互式图表》1、 动态类型JavaScript 是一种松散类型的语言。换句话说,不必提前声明保存在变量中的数据是什么类型。而JavaScript则会根据赋给变量的数据,自动推断其类型。(注意,’’或""表示字符串。)不用知道保存什么数据,就可以声明和命名变量。甚至随意改变保存的数据类型。如果你不确定某个变量中保存着什么类型的数据,可以使用typeof操作原创 2017-07-25 11:04:28 · 310 阅读 · 0 评论