1.对象的属性访问: 对象.属性 对象[属性],但中括号中必须是字符串 2.属性的遍历: for in方法举例: var ren={}; ren.name="名字"; ren.eat=function(){ alert("吃饭"); } for(var i in ren){ alert(ren[i]); } 3.封装-工厂函数,这种方式格式不规范 function dianshi(color,size,brand){ var tv={}; tv.color=colo…
本文简单解析各种数组和对象属性的遍历方法: 原生for循环.for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() underscore的_.each() 文中的范例基于以下数组和对象. var arrTmp = ["value1","value2","value3"]; var objTmp = { aa:"value1", bb:&quo…
1.回到顶部效果. 2.滚动条向上滚动式,滑动滚轮.解决bug的方法. 3.有关Document. 4.getElementByClassName();获取元素类名的封装.单个类名的元素.任然不完美. 5.创建一个属于框,输入里面的内容在后面的ul的li里面显示. 6.前端与后端的交互.UI 前端 后端可以同时进行.后端数据没写好后端可以模拟接口给前端. 7.Dom创建结构. 此方法会产生文档碎片,所谓文档碎片就是:传说中他能优化我们的Dom的结构,加快渲染Dom的速度.但从来没有测试到一个真正…
函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别 // 普通函数定义 function f1() { console.log("Hello world!"); } // 带参数的函数 function f2(a, b) { console.log(arguments); // 内置的arguments对象 console.log(arguments.length); console.log(a, b); } // 带返回值的函数 functi…
通常我们会用循环的方式来遍历数组.但是循环是 导致js 性能问题的原因之一.一般我们会采用下几种方式来进行数组的遍历: 方式1: for in 循环: var arr = [1,2,3,4,5]; var obj = { a : 1, b : 2, c : 3 }; for( var item in arr|obj ){ fn(item){ // do sth with arr[item]; //do sth wtih obj[item]; }; } 这里的 item: array 的索引值,对…
问一.引入工厂,解决反复代码 前面已经提到,JS中创建对象的方法,不难发现,主要的创建方法中,创建一个对象还算简单,假设创建多个类似的对象的话就会产生大量反复的代码. 解决:工厂模式方法(加入一个专门创建对象的方法,传入參数避免反复) function createObject(name,age){ var obj =new Object(); //创建对象 obj.name = name; obj.age = age; obj.run = function(){ return this.nam…
问了.工厂介绍,解决重码 前面已经提到,JS中创建对象的方法.不难发现,主要的创建方法中,创建一个对象还算简单,假设创建多个类似的对象的话就会产生大量反复的代码. 解决:工厂模式方法(加入一个专门创建对象的方法,传入參数避免反复) function createObject(name,age){ var obj =new Object(); //创建对象 obj.name = name; obj.age = age; obj.run = function(){ return this.name…
写在前面 学习和总结JS时会伴随性的生成一些dome,其中包含一些动态输出的结果和标注. 之前通过鸡贼的办法实现了在博客中执行JS,但很多时候需要一张干净的页面编写dome,所以尝试通过一些在线的JS编辑器创建,并在博客中附上相应的链接. 一开始使用JSFiddler,优点是界面简洁,同时提供多种JS库,支持创建Ajax echo后端.但因为网页加载速度太慢,所以没有坚持用下来. 现在正在使用国内的JS在线编辑工具RunJS,提供多种JS库.前端框架及第三方插件,支持调用Ajax.fork(类似…
1.JS对象 1.1 JS对象特征 1.JS对象是基本数据数据类型之一,是一种复合值,可以看成若干属性的集合. 属性是名值对的形式(key:value) 属性名是字符串,因此可以把对象看成是字符串到值的映射 2.对象除了可以保持自有的属性,还可以从一个称为原型的对象继承属性.其中,原型链继承是JavaScript的核心特征. 3.对象是动态的,可以增加或删除属性. 4.除了字符串.数值.true.false.null和undefined,其它值都是对象. 5.对象最常见的用法是对其属性进行创建.…
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性. 这里列出的所有变量均可以在所有模块中访问.但值得注意的是:它们有些并不是在全局作用域内的,即不在global对象内,而是在模块作用域内的.在模块作用域内的变量会用*表示. global 全局对象,全局变量的宿主 *__filename 表示当前正在执行的脚本的文件名.它将输出文件所在位置的绝对路径,且…