Loading

摘要: 1.词法作用域 javascript中的函数是通过词法来划分作用域的,而不是动态地划分作用域的。这意味着,他们在定义他们的的作用域里运行,而不是在执行他们的作用域里运行。当javascript解释器调用一个函数,它首先将作用域设置为定义函数时起作用的那个作用域。 阅读全文
posted @ 2012-04-16 15:34 青岛欧姆网络科技 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1.“||”运算符 如果||运算符的第一个参数为true,或者是一个可以转换为trued的值,该运算符就会返回其第一个参数。否则会返回第二个参数。例: a = a||[];如果a已经定义了并且为非null,它则返回a,否则a便是空的。2.尽管定义javascript函数时有固定数目的命名参数,但当调用这个函数时,传递给它的参数数目却可以是任意的。arguments对象允许完全地存取那些实际的参数值。arguments对象是一个类似数组的对象。关于arguments的一个例子:function b(a){ alert(a); arguments[0]=[12,3]; alert(a);}... 阅读全文
posted @ 2012-04-16 15:02 青岛欧姆网络科技 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1.Array的push()方法和pop()方法:push()方法将一个或多个新元素附加到数组的尾部,然后返回数组的长度。pop()方法将删除数组尾部的一个元素并返回删除元素的值。2.unshift和shift方法:他们的行为和push和pop的方法非常类似,只不过他们是在数组的头部进行插入和删除.例如,var a =[];a.unshift(1,2,3,4,5,6,7);alert(a.shift());//1alert(a);//2,3,4,5,6,7 阅读全文
posted @ 2012-04-16 11:50 青岛欧姆网络科技 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1.数组下标必须是一个非负的整数,否则javascript会把它转换成字符串作为对象属性的名字,而不是定义了一个新的数组下标。2.给数组添加一个新的元素,并不一定要按照当前数组的下标继续添加,javascript中数组是稀疏的。例如,a[0]=10;a[1000]=99;解释器只给0和1000下标的数组分配内存。3.delete把一个数组元素设置为undefined,但是元素本省还继续存在。要真正的删除一个元素,必须使用一个数组方法,Array.shift()方法删掉数组元素的第一个元素,Array.pop()方法删掉数组元素的最后一个元素,Array.splice()从一个数组中删除一个连续 阅读全文
posted @ 2012-04-14 17:29 青岛欧姆网络科技 阅读(254) 评论(0) 推荐(0) 编辑
摘要: Javascript在互联网上名声很臭,但你又很难再找到一个像它这样如此动态、如此被广泛使用、如此根植于我们的生活中的另外一种语言。它的低学习门槛让很多人都称它为学前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏使用了高标准的静态数据类型。其实,你和Javascript都站错了立场,而现在,你让Javascript很生气。这里有五个原因能说明你的Javascript技术很烂。1. 你没有使用命名空间。 是否还记得在大学里老师告诉你不要在家庭作业里使用全局变量?Javascript里的全局变量的使用方法也不例外。Web网页稍不留神就会变的混乱不堪、到处都是从互联网上各个角落里找来的.. 阅读全文
posted @ 2012-04-13 16:34 青岛欧姆网络科技 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1.javascript 字符串周围可以用引号括起来,单引号和双引号都可以,但是必须成对。2.doucment.write()方法可以向文档中中写入HTML表达式或javascript代码3.正则表达式匹配:g 模式是否被用于全局 i 模式是否区分大小写 m 字符串的每个物理行是否被当成字符串的开始4.正则标记 \b 词语边界 /\bto/ 匹配 tomorrow /to\b/匹配Soweto /\bto\b/匹配 to \B 非词语边界 /\Bto/匹配stool 和 Soweto /to\B/匹配stool和tomorrow ... 阅读全文
posted @ 2012-04-13 14:22 青岛欧姆网络科技 阅读(246) 评论(0) 推荐(0) 编辑
摘要: arguments 对象在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。因此,无需明确命名参数,就可以重写函数:function sayHi() { if (arguments[0] == "bye") { return; } alert(arguments[0]);}检测参数个数还可以用 arguments 对象检测函数的参数个数,引用属性 ar 阅读全文
posted @ 2012-04-13 11:22 青岛欧姆网络科技 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 请将All over the world people enjoy sports替换成All1 over2 the3 world4 people5 enjoy6 sports7大牛的实现:var i = 0, str = "All over the world people enjoy sports";str = str.replace(/\S+/g, function($){return $ + [++i]});alert(str); 阅读全文
posted @ 2012-04-12 16:46 青岛欧姆网络科技 阅读(237) 评论(0) 推荐(0) 编辑
摘要: var a = 1;function test(){ alert(a); var a = 2;} test();运行的结果是undifined.不是2.js 的执行过程中,编辑器先以读入代码段,对代码段中的var 变量和function 定义进行“预解析”,预解析var 变量的时候,初始化为undefined相当于一下代码:var a = 1;function test(){ var a; alert(a); a = 2;}test(); 阅读全文
posted @ 2012-04-12 15:52 青岛欧姆网络科技 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 作者:Juriy "kangax" Zaytsev译者:为之漫笔发表时间:2009年6月17日最近修改:2009年10月9日翻译时间:2009年12月9日修订时间:2009年12月22日前言函数表达式与函数声明函数语句命名函数表达式调试器中的函数名JScript的bugJScript的内存管理测试Safari中存在的bugSpiderMonkey的怪癖解决方案替代方案WebKit的displayName对未来的思考致谢前言我觉得很奇怪,网上好像一直没有人认真地讨论过命名函数表达式(Named Function Expression,即“有名字函数表达式”,与“匿名函数”相对 阅读全文
posted @ 2012-04-11 20:00 青岛欧姆网络科技 阅读(249) 评论(0) 推荐(0) 编辑