JS备忘录】的更多相关文章

备忘录(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以根据保存的Memento信息还原到前一状态. 如果在某个系统中使用命令模式时,需要实现命令的撤销功能,那么命令模式可以使用备忘录模式来存储可撤销操作的状态. 使用备忘录可以把复杂的对象内部信息对其他的对象屏蔽起来,当角色…
JS函数的参数在function内可以用arguments对象来获取. 转化为数组:var arr=Array.prototype.slice.call(arguments,0); Array有两个:sort() :没参数 默认按照字母升序 有参数必须是函数,自定义排序规则,有两个参数a,b, return a-b是升序, b-a降序 arr.sort() 返回的数组的引用 function add(a,b){ } function add(a,b,c){ var arr=Array.proto…
js没有重载,只有同名覆盖,参数任意 所有参数封装在arguments数组中 Uncaught ReferenceError: d is not defined js引擎会当做变量处理 function add(a,b,c){ for (var i in arguments) { alert(arguments[i]); } } add(2,d,4,5);…
函数的全解析 原文链接: http://mp.weixin.qq.com/s?src=11&timestamp=1509672643&ver=491&signature=9fDqtcKGGjLvGyS95AHuhasT7vw2ygN9BfH15xE*PztVCuNLX*XmvconyWgX-CNffBXJKwPsR*VUoH4VD5hKnceOiNfhigaxCN7yHLNEdlB-L*F-yQV4xCR3F2qpQeLX&new=1 window.onload = fun…
for (var key in obj) { console.log('对象属性名:' , key); if (obj[key] instanceof Object) { sayName(obj[key]); } } 遍历对象的方法 for (var i = 0; i < obj.length; ++i) { console.log('对象属性名:' , i); if (obj[i] instanceof Object) { sayName(obj[i]); } } 遍历数组的方法 JSON是什…
JavaScript也有类型转换 js中的获取指定位数的方法 +和-的转换方向不同 在JavaScript中首先给变量赋值数字,然后再给变量赋值字符串是合法的 这点和Java有些区别 在函数体内声明变量,如果变量和全局变量的名字相同则会被覆盖 在使用局部变量的时候一定要var 不然会修改了全局变量的值 因为考虑到函数嵌套的情况 *****注意这句话,JavaScript是没有块级作用域的,只有函数作用域,看到这句话的时候并没有什么感觉,但是看了例子后: 在for循环后k的值竟然还是可以输出的,原…
JavaScript 的类型分为两类,分别是原始类型和对象类型 其中原始类型中只有数字.字符串和布尔型,和java中的有些不一样 null和undefined不是基本数据类型中的某一种 对象是property的集合, eg:  var map={ title:"aaa" } 还有global Object 全局对象没有了解过 JavaScript也有自己的内存管理机制 JavaScript是不区分整数和浮点数的 无限大为Infinity 非数字值NaN 这种情况应该很少遇到 === 是…
/** *删除数组指定下标或指定对象 */ Array.prototype.remove = function (obj) { for (var i = 0; i < this.length; i++) { var temp = this[i]; if (!isNaN(obj)) { temp = i; } if (temp == obj) { for (var j = i; j < this.length; j++) { this[j] = this[j + 1]; } this.lengt…
新建对象 赋值和取值操作 var book={ topic:"JavaScript", fat: true }; book.topic  通过点访问 book["fat"]  通过中括号访问,用的比较少 book.author="Flanagan”  增加属性,类似于Map book.content={}   增加空对象,没有属性 var primary=[1,2,3,4,5];  //新建数组 primary[0] 访问数组 primary[3]=1;…