06 2012 档案

摘要:编程语言中,引用类型的数据占用内存中的空间比较大,最终都要释放这些内存以便他们能被再用。javascript中,字符串,对象,数组没有固定大小。javascript中有垃圾收集的方法来释放。注:不同浏览器的垃圾收集器也是不一样的,同一浏览器的不同版本垃圾收集器也可能有所不同。例1:程序中使用的变量再也无法引用这个对象了.var s = "hello";var u = s.toUpperCase();s = u; //s和u都指向了“hello”大写后的字符串运行这段代码后,程序中没有变量再引用"hello"字符串了,系统一检测到这一事实后,就会释放该字符 阅读全文
posted @ 2012-06-27 22:16 zzu-han 阅读(156) 评论(0) 推荐(0)
摘要:不管何种语言,在进行运算操作之前,进行验证是非常重要的,可以避免一些简单的错误出现。1 如进行DOM方法获取节点之前的验证。if(document.getElementById) var myBtn = document.getElementById("btn");//用if验证是否有这个方法,因为getElementById为document的一个指向方法的属性,如果未定义会返回undefined,undefined转换为bool类型为false;2 在函数中有可选参数的时候,对可选参数是否存在进行验证。可以用||或者if判断。function add(a,b,c){ a 阅读全文
posted @ 2012-06-27 16:07 zzu-han 阅读(213) 评论(0) 推荐(1)
摘要:闭包从smalltalk开始,几乎所有知名动态语言都支持闭包,javascript也不例外。闭包的定义非常晦涩——闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(深连结)。闭包与函数的关系就好像动态与静态,结构与实例的关系。javascript中闭包是通过function实现的。闭包的“闭”指闭包的内部环境对外部的不可见,简单地说,即闭包的领域是对外封闭的。我通常认为闭包是一种引用结构,至少在javascript中是这样的,javascript中的闭包 阅读全文
posted @ 2012-06-27 15:09 zzu-han 阅读(215) 评论(0) 推荐(0)
摘要:在实现原型继承时,用到Cat.prototype = new Animal(); 每一个类创建时都有prototype对象,prototype对象中有constructor属性,指向它的构造函数,这里我们重新定义了prototype对象,因此之前的prototype对象的值时完全删除了。解决办法:Cat.prototype.constructor = Cat; Cat 不需要带括号。constructor属性指向Cat构造函数。 阅读全文
posted @ 2012-06-26 15:12 zzu-han 阅读(145) 评论(0) 推荐(0)
摘要:javascript是在ECMAScript接口规范下的一种动态编程语言。目前记下学习过程中了解到的javascript的一些特性,只写与其他语言类似的,一样的东西就不在这里啰嗦了。一:松散类型的二:没有块级作用域三:没有函数重载四:作用域链五:活动对象六:变量对象七:匿名函数 阅读全文
posted @ 2012-06-20 23:58 zzu-han 阅读(133) 评论(0) 推荐(0)
摘要:函数--可以说是ECMAScript中最有意思的部分了。函数实际上是对象,每个函数都是Function类型的实例。函数名实际上是一个指向函数对象的指针。除了我们常见的两种函数声明方式,函数声明与函数表达式,还有一种使用Function构造函数创建,例://Function构造函数方式var sum = new Function("num1","num2","return num1+num2");alert(sum(1,3));解释:函数是对象,函数名是指针。function sum(num1.num2){ return num1 + 阅读全文
posted @ 2012-06-20 15:30 zzu-han 阅读(195) 评论(0) 推荐(0)
摘要:确定两个变量是否相等在编程中极为重要,使用异常的多。基础认识ECMAScript提供两组操作符:相等和不相等——先转换再比较全等和不全等——仅比较而不转换相等和不相等在不同数据类型时,遵循以下基本原则。如果有个一是布尔值,则先将其转换为数字——false转换为0,true转换为1如果一个是字符串,另一个是数值,则将字符串转换为数字在比较如果有一个操作数是对象,另一个不是则调用对象的valueOf()方法,用得到的原始值进行比较。alert("1" == 1); // true 数字和字符串比较alert(true == 1); // true 布尔类型和数字比较alert( 阅读全文
posted @ 2012-06-18 15:45 zzu-han 阅读(211) 评论(0) 推荐(0)
摘要:被误解的WEB标准自从2004年阿捷翻译了《网站重构》这本书,网站重构这个词就慢慢的必成了css+div,甚至等同起来,一些朋友把标准跟重构也混淆了,css+div跟标准也混淆了。这里有很多误读的成份。《网站重构》这本书一直围绕着一个思想:使用WEB标准重构网站21世纪最大冤案table(表格)用来加载数据等,table被包裹的内容必须全部下载下来才能展示出来,否则是一点也不展示,这是其缺点即Table被打死,用table的网站就被鄙视,一棒子打死。我想任何东西都有两面性,table对于数据的展示还是很方便的,排版方便什么是WEB标准WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三 阅读全文
posted @ 2012-06-18 00:08 zzu-han 阅读(571) 评论(0) 推荐(0)
摘要:属性或方法说明constructor对创建对象的函数的引用(指针)。对于Object类,该指针指向原始的object()函数。prototype对该对象的对象原型的引用。对于所有的类,它默认返回Object对象的一个实例。hasOwnProperty(property)判断对象是否有某个特定的属性。必须用字符串指定该属性(例如,o.hasOwnProperty(”name”))。isPrototypeOf(object)判断该对象是否为另一个对象的原型。propertyIsEnumerable(property)判断给定的属性是否可以用for…in语句进行枚举。toString()返回对象的原 阅读全文
posted @ 2012-06-17 00:25 zzu-han 阅读(236) 评论(0) 推荐(0)
摘要:1-1 构造函数入门Object和Array是原生构造函数,在运行时会自动出现在执行环境中。同时,也可以创建自定义的构造函数,从而定义自定义对象类型的属性和方法。例:function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }}var person1 = new Person("han",22,"designer");var person2 = new ... 阅读全文
posted @ 2012-06-16 23:49 zzu-han 阅读(221) 评论(0) 推荐(0)
摘要:javascript1-1:我们创建的每个函数都有一个prototype(原型)属性,这个属性时一个指针,指向一个对象。这里为Person.prototype这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。字面量理解为对象实例的原型对象。好处:即让所有对象实例共享它原型属性指向对象的属性和方法。我感觉如同java中static关键字,只有一份,但又不尽相同。//以下代码实例都已这个为基础,相同部分就省略了function Person(){}Person.prototype.name = "Nicholas";Person.prototype.age = 29 阅读全文
posted @ 2012-06-15 18:58 zzu-han 阅读(230) 评论(0) 推荐(0)
摘要:Javascript是遵循ECMAScript标准下的一个产物,自然ECMAScript的标准其要遵循1-1 ECMAScript的变量是松散类型的1-1-1 ECMAScript的变量是松散类型的,即可以用来保存任何类型的数据(未经初始化的变量,会保存一个特殊值undefined).var message;alert(message); //undefined1-1-2 可以在修改变量的同时修改值的类型。var message = "hi";message = 100; //有效但是不推荐1-1-3解决方法前两天看了网易的前端开发规范倒是挺不错的,可以方便的让程序员看懂定 阅读全文
posted @ 2012-06-15 10:59 zzu-han 阅读(10164) 评论(0) 推荐(1)
摘要:Javascript 基础 操作符3.4.1 typeof操作符因为ECMAScript是松散类型的,因此需要一种手段检测给定变量的数据类型——typeof因此而生.对一个值使用了typeof操作符可能返回下列某个字符串。"undefined"——如果这个值未定义"boolean"——如果这个值是布尔值"string"——如果这个值是字符串"number"——如果这个值是数字"object"——如果这个值是对象或null"function"——如果这个值是函数例子:var m 阅读全文
posted @ 2012-06-15 00:54 zzu-han 阅读(371) 评论(0) 推荐(1)
摘要:更改一个链接的文本,地址,targetView Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content= 阅读全文
posted @ 2012-06-11 13:56 zzu-han 阅读(133) 评论(0) 推荐(0)
摘要:DOM是Document Obejct Model的缩写,意思是 文档对象模型()。DOM 是一种接口,使用该接口可以轻松访问页面中所有标准组件(轻松获取和操作网页中的数据,脚本和表现层对象),重要的是解决了Netscape的javascript和Microsoft的Jscript之间的冲突,给web开发者一套标准的方法。 注:DOM不属于某一语言,也不仅仅面对javascript,它仅仅定义一个标准的接口。DOM分为三个方向,DOM Core(核心),HTML-DOM和CSS-DOM.1 DOM Corejavascript中有getElementById(),getElementByTa. 阅读全文
posted @ 2012-06-11 00:15 zzu-han 阅读(273) 评论(0) 推荐(0)
摘要:javascript现在比较痛苦的地方就是没有统一的标准,还有跨浏览器兼容性问题,所以我们要耐得下性子,记录写自己常用的类和方法 阅读全文
posted @ 2012-06-10 23:56 zzu-han 阅读(190) 评论(0) 推荐(0)
摘要:这一天 2012年6月10日,决定在博客园开始自己真的博客记录。回想: 以前写博客的时候,总是没有深入去写,草草的了结,或者只是转载别人的文章,把博客当成了收藏库。自己也不会重新翻看,我想这样破坏了博客的作用了。今天: 杨帆起航。为自己负责,为看自己博客的博友负责,开始写有内容,有深度,有思想的内容。明天: 我想博客一定要坚持写下去,记录自己将来的点点滴滴,也给新的选择前端开发的同学一些亮点吧。 阅读全文
posted @ 2012-06-10 14:09 zzu-han 阅读(225) 评论(1) 推荐(1)