ES5拓展】的更多相关文章

一.JSON拓展 1.JSON.parse(str,fun):将JSON字符串转为js对象 两个参数:str表示要处理的字符串:fun处理函数,函数有两个参数,属性名.属性值 // 定义json字符串 var str = '{"a": 1, "b": "2", "c": {"d": 3}}' // 转为对象 var obj = JSON.parse(str, function(key, value) { /…
//游戏开发之面向对象 //在js的开发模式中有两种模式:函数式+面向对象 //1.es5 // 拓展一:函数的申明和表达式之间的区别 // 函数的申明: // function funA(){ // // } // 表达式的写法:(推荐) // let funB=function(){ // // } // 区别在于表达式的写法是会变量的提升!在执行的时候会要去合适的判断才执行 // callback&&callback() // (function () { // //所要执行的...…
一.数组: 数组的基本方法:              1.增:arr.unshift() /push()    前增/后增                  2.删:arr.shift() /pop()        前删/后删              3.改:arr.splice(开始下标,删除的长度,增加的元素,增加的元素)  注:增加元素时,删除的长度为0               4.截: arr.slice(开始下标,结束下标)                5.拼:arr.co…
JavaScript中数组有各种操作方法,以下通过举例来说明各种方法的使用: 数组操作方法 push 在数组最后添加一个元素 var arr=[3,4,5,6] console.log(arr) //[3, 4, 5, 6] arr.push("evenyao") //字符串需要加"",数字不加 console.log(arr) //[3, 4, 5, 6, "evenyao"] pop 把数组最后一位取出来,并返回,且原来数组发生变化 var…
1.对象的拓展 ①Object.create(obj, {age:{value:18, writable:true, configurable:true, enumerable:true}); 以指定对象为原型创建新的对象 ②Object.defineProperties(obj, fullname:{get: function(){}, set:function(){} }) 2.对象本身的两个方法: get fullname(){   }   用来得到当前属性的回调函数 set fullna…
什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型.变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型. 弱类: 计算时可以不同类型之间对使用者透明地隐式转换,即使类型不正确,也能通过隐式转换来得到正确的类型. 原型: 新对象继承对象(作为模版),将自身的属性共享给新对象,模版对象称为原型.这样新对象实例化后不但可以享有自己创建时和运行时定义的属性,…
ES5新语法主要是体现在Object和.Array操作,同时涉及到JSON. Function.Date 和 String类型上. 1.Object ES5最大的特点是对象扩展很多方法. 新建对象:create( 新建一个"干净"的对象,这里的"干净"指的是没有原型链.)      语法:Object.create(proto, [ propertiesObject ]);       proto是一个对象,作为新创建对象的原型.       如果 proto 参数…
虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都或多或少的支持了ECMAScript5的新特性,其中重中之重自然是一切对象的基类型--Object Object.create(prototype[,descriptors]) 这个方法用于创建一个对象,并把其prototype属性赋值为第一个参数,同时可以设置多个descriptors,关于dec…
es6的新特性对函数的功能新增加了rest参数和...的拓展运算符.这是两个什么东西呢? 先来看一个问题:如何获取一个函数除了定义的参数之外的其他参数?传统的做法是借助函数的arguments关键字来获取的. 方法如下: function add(a,b){ var i=2,rest=[]; if(arguments.length>2){ for(i;i<arguments.length;i++){ rest.push(arguments[i]); } } return rest; } con…
ES6对象和传统的JS比较起来支持简写,比如说属性简写方法简写,还支持name属性,可以通过他迅速得到函数属性名表达式(如果是用bind方法创造的函数name属性会返回bound加上原函数的名字,Function构造函数创造的函数name属性返回"anonymous"). var test = { sayHi(){ console.log('hi'); } } console.log(test.sayHi.name); //sayHi 下面说的都是对象的拓展方法 如果将源对象的所有可枚…