随笔分类 -  javascript

摘要:# 立即调用的函数表达式 复习##函数的执行上下文##>在JavaScript里,任何function在执行的时候都会创建一个执行上下文,因为为function声明的变量和声明的function有可能只在该function内部。```javascript// 由于该function里返回了另外一个function,其中这个function可以访问自由变量i// 所有说,这个内部的function实际上是有权限可以调用内部的对象。function makeCounter() { // 只能在makeCounter内部访问i var i = 0; return function ... 阅读全文
posted @ 2014-02-18 20:12 dearRose 阅读(393) 评论(0) 推荐(0)
摘要:# 全面解析Module模式 复习***## 基本用法##``` javascriptvar Calculator = function (eq) { //这里可以声明私有成员 var eqCtl = document.getElementById(eq); return { // 暴露公开的成员 add: function (x, y) { var val = x + y; eqCtl.innerHTML = val; } };};```每次调用的时候new一下,**不过这样每个实例... 阅读全文
posted @ 2014-01-30 00:52 dearRose 阅读(353) 评论(0) 推荐(0)
摘要:# 揭秘命名函数表达式 复习(2)### JScript的BUG ##在IE8-(IE6-IE8)中JScript有很多错误 这些会导致: * 函数表达式的标示符泄露到外部作用域 ```javascript var f = function g(){}; typeof g; // "function" ```* 把函数表达式同时当作函数声明和函数表达式 ```javascript typeof g; // "function" var f = function g(){}; ``` 以上两个我觉得问题都在JScript... 阅读全文
posted @ 2014-01-25 16:06 dearRose 阅读(228) 评论(0) 推荐(0)
摘要:二、揭秘命名函数表达式 1、函数表达式和函数声明函数声明:function函数名称(参数:可选){函数体} 函数表达式:function函数名称(可选)(参数:可选){函数体}function foo(){} // 声明,因为它是程序的一部分 var bar = function foo(){}; // 表达式,因为它是赋值表达式的一部分 new function bar(){}; // 表达式,因为它是new表达式 (function(){ function bar(){} // 声明,因为它是函数体的一部分 })(); 到底什么是表达式? 《JavaScript语... 阅读全文
posted @ 2014-01-22 00:33 dearRose 阅读(228) 评论(0) 推荐(0)
摘要:最近发现JavaScript有些基本概念模糊,趁这个机会学习下 @汤姆大叔 的《深入理解JavaScript》系列,复习记录下遗忘的基础知识。在此感谢汤姆大叔! 一、编写高质量JavaScript代码的基本要点 1、全局变量 隐式全局变量和明确定义的全局变量间的不同: 通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。 无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。// 定义三个全局变量var global_var = 1;global_novar = 2; // 反面教材(function () { global_fromfunc = 3; ... 阅读全文
posted @ 2014-01-20 21:07 dearRose 阅读(364) 评论(0) 推荐(0)
摘要:4.4 参数当函数被调用时,会得到一个参数列表,即arguments数组(并不是真的数组,只有length属性,不含方法)。// Make a function that adds a lot of stuff.// Note that defining the variable sum inside of// the function does not interfere with the sum// defined outside of the function. The function// only sees the inner one.var sum = function ( ) . 阅读全文
posted @ 2013-01-16 20:20 dearRose 阅读(141) 评论(0) 推荐(0)
摘要:Chapter 4. Functions4.1函数对象 对象有连到原型的隐藏连接,函数对象连接到Function.prototype。 函数在创建时带有prototype属性,它的值是一个有constructor属性且constructor的值就是函数值本身的对象。1 var func = function() {};//GC查看func的属性4.2函数字面量var add = function (a, b) { return a + b;};4.3调用 javascript有四种调用函数的方式。调用函数时会传入两个参数this和arguments。4.3.1方法调用模式 当函数... 阅读全文
posted @ 2012-07-25 22:48 dearRose 阅读(144) 评论(0) 推荐(0)
摘要:3.5原型 一种继承方式3.6反射3.7枚举 遍历对象的属性时可以用 for in 和 for。 使用for in时 使用hasOwnProperty方法排除原型上的属性,使用typeof排除函数。注意属性出现顺序随即。var name;for (name in another_stooge) { if (typeof another_stooge[name] !== 'function') { document.writeln(name + ': ' + another_stooge[name]); }} 使用for遍历字面量可以避免一些问题。3.8删除 .. 阅读全文
posted @ 2012-07-24 22:16 dearRose 阅读(174) 评论(0) 推荐(0)
摘要:Chapter 3. Objects javascript的简单类型:数字,字符串,布尔值,null和undefined。数字,字符串,布尔值拥有方法。 如果当一个声明的变量未初始化,该变量默认值是undefined;当函数没有明确返回值得时候,返回的也是undefined。3.1对象字面量 就是直接对对象赋值,类似:var empty_object = {};var stooge = { "first-name": "Jerome", "last-name": "Howard"}; 对象可以嵌套。var flig 阅读全文
posted @ 2012-07-21 14:12 dearRose 阅读(181) 评论(0) 推荐(0)
摘要:由于实习项目需要,我开始了学习javascript的慢慢之途。本博客就记录下我学习javascript的脚印吧~ Douglas Crockford的《JavaScript: The Good Parts》是一本讲述javascript经典书籍,我当然得好好拜读下~Chapter 1. Good Parts 比较笼统地讲了javascript的缺点和优点。 就是这个函数注意下,后文中定义新方法都是用这个方法。1 Function.prototype.method = function (name, func) {2 this.prototype[name] = func;3 ... 阅读全文
posted @ 2012-07-21 12:54 dearRose 阅读(236) 评论(2) 推荐(0)