摘要: 在很多JS库中都能看到下面的代码:function(){ //所有库代码代码}();这样写的一个目的是——封装。JavaScript并不是面向对象的,所以它不支持封装。但是在不支持封装的语言里同样可以实现封装。而实现的方法就是匿名函数或者自执行函数,其实自执行函数是特殊的匿名函数。在JS中类是通过函数来模拟的,其实很难理解,但是理解了也是比较轻松的,都知道在C#/Java等语言中,类是创建对象的模板,也是属性和方法的集合,类中中可以定义多个方法,既然在JS中可以通过函数来模拟,那么函数中自然也就可以定义新的函数,或者说内部函数,如下面的就是一个类://定义function F(x){ ... 阅读全文
posted @ 2013-12-13 16:02 醉意人间 阅读(8254) 评论(1) 推荐(0) 编辑
摘要: var arr=[];arr['js']='jquery';arr['css']='oocss';var obj={};for(var i in arr){ obj[i]=arr[i];}alert(obj.js);JS语言的动态特性非常灵活,可以给对象动态的增加新的属性或者方法,即便是对数组也是可以动态增加其个数。所以上面的这个小代码片段是完全可以运行的,继续往下看var arr=[];arr['js']='jquery';arr['css']='oocss';va 阅读全文
posted @ 2013-12-13 10:47 醉意人间 阅读(667) 评论(0) 推荐(0) 编辑
摘要: CSSCommonJS.DeepCopy = function (json) { if (typeof json == 'number' || typeof json == 'string' || typeof json == 'boolean') { return json; } else if (typeof json == 'object') { if (json instanceof Array) { var newArr = [], i, len = json.length; for (i = 0; ... 阅读全文
posted @ 2013-12-13 09:27 醉意人间 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 方式一:对象名.属性名;方式二:对象名["属性名"];★注意:方式二中,属性名以字符串的形式出现在方括号中,这意味着通过方式二访问属性的话,可以实现“动态访问对象的属性”。例如:function Person(){}var p1 = new Person();p1.name = "刘宇"; //在 JavaScript 中我们可以给对象动态添加属性。alert(p1.name); //输出:小明//利用字符串变量 str 访问 p1 中的 name 属性:var str = "na"+"me";alser(p1[s 阅读全文
posted @ 2013-12-13 09:22 醉意人间 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 1.易错:修改元素的样式不是设置class属性,而是className属性.class是JS的一个保留关键字。2.易错:单独修改样式的属性使用"style.属性名"3.注意在css中属性名和在javaScript中 操作的时候属性名可能不一样,主要集中在那些属性名中含有-的属性,因为javaScript中-是不能做属性,类名的。所以在CSS中背景色是background-clolor,而javaScript中则是style.background;4.元素样式名是class,在javaScript中是className属性 1.举例1 动态修改style ... 阅读全文
posted @ 2013-12-13 08:50 醉意人间 阅读(545) 评论(0) 推荐(0) 编辑