20200703 自学 JS

    技术2023-05-09  72

    JS 构造函数相关 基本语法:function 函数名 (){     //函数名首字母大写(规范) this.属性名 = 值    //值可以传参 } 函数名.portotype.方法名() = function(){}    //添加公共方法,prototype为原型对象,这种方式添加方法,实例对象在调用方法时不会额外开新的内存空间,节省资源 实例对象.porto 指向原型对象,一级一级往上形成原型链,也是JS成员查找的方法 函数名.portotype.consturctor = 函数本身   //指回自己

    构造函数A继承构造函数B,组合继承的方式 1.继承属性 在构造函数B中使用 A.call(A里面的This改变指向此参数,传递的B里面的参数1,参数2,…) 2.继承方法 用B.prototype指向A的实例对象,即: B.prototype = new A      //这样B的方法不会影响A的,因为原型链的存在,所以B能使用A的方法,即继承方法

    数组相关 ES5中的新方法: 1.循环遍历forEach() arr.forEach(function(每个值,每个的索引,数组本身){      console.log(’’) }) 2.筛选filter()     //返回的是一个新数组,不会影响到原来的数组 let newArr = arr.fiter(function(每个值,每个的索引,数组本身){      return 筛选的条件 }) 3.查找是否有满足条件的元素some()     //有的话返回true,没有返回false,而且找到一个满足条件的就不会继续查找,终止循环 let newArr = arr.some(function(每个值,每个的索引,数组本身){      return 筛选的条件 })

    字符串相关 去掉字符串两边的空格 str.trim()

    对象相关 1.获取一个对象所有的属性并返回一个属性名组成的数组,效果类似for…in Object.keys(obj) 2.定义对象中新属性或修改原有属性 Object.defineProperty(obj,prop,descriptor)    //(要更改的对象,这个对象的属性名,属性值)三个参数一个也不能省 descriptor要以对象的形式书写{ } 格式: Object.defineProperty(obj,prop,{      value:值         设置属性的值      writable:true | false     默认为false,确定目标属性是否能更改,一些重要的不能改的属性会用到 })

    Processed: 0.020, SQL: 9