JS高级
帅九妹
这个作者很懒,什么都没留下…
展开
-
ES...方法
… <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // 1. ... 方法对数组进行展开 let arr1 = [1,23,3421,213] let arr2 = [2231,214,32] consol原创 2021-07-03 15:20:55 · 137 阅读 · 0 评论 -
JS-this的指向问题
this指向问题 一般情况下,this指向调用该函数的对象 全局作用域和普通函数中的this指向全局对象window* console.log(this) //指向window function fn(){ console.log(this) //也指向window } 方法调用中谁调用就指向谁 let o ={ sayHi:function(){ console.log(this) } } o.sayHi() //这里的this就指向o这个对象 构造函数中this指向构造函数实原创 2021-06-20 17:38:42 · 67 阅读 · 0 评论 -
ES5中新增的方法
数组方法 有 forEach() map() filter() some() every() 1. forEach array.forEach(function(currentValue,index,arr)) // currentValue 当前值 // index 数组索引 // arr 数组本身 2. filter filter() 方法会创建一个新的数组,将符合条件的所有元素放到一个数组里面作为返回值 array.filter(function(currentValue,index,arr)) /原创 2021-06-20 17:31:15 · 82 阅读 · 0 评论 -
JS-函数进阶
JS-函数进阶 1. 函数的定义方式 函数声明 function hxx(){ // code here } 函数表达式(匿名函数) let fn = function(){ // code here } new Function (构造函数) let fn = new Function('参数1','参数2','函数体') PS: Function 里的参数必须是字符串格式 所有函数都是是 Function 的实例 函数也属于对象 函数的原型图 [外链图片转存失败,源原创 2021-06-20 17:13:34 · 57 阅读 · 0 评论 -
函数的闭包
闭包 什么是闭包? 闭包(closure)就是有权访问另一个函数作用域中变量的函数 function fn() { let num = 10 // 被访问的这个变量所在的函数 这个函数就称为闭包函数 function fns() { // 访问了另一个函数内的局部变量 console.log(num); } fns原创 2021-06-20 16:49:42 · 81 阅读 · 0 评论 -
apply bind call
call 作用:调用这个函数,比关切修改函数运行时this的指向 fun.call(thisArg,arg1,arg2,...) // thisArg 调用该函数时,this的指向 // arg1,agr2 传递的参数 主要用来构造函数的继承 function Father(name,age){ this.name = name this.age = age } // 子类 function Son (name,age){ Father.call(Son,name,age) } let so原创 2021-06-18 11:50:02 · 60 阅读 · 0 评论 -
JS-继承
JS-继承 在ES6之前里并没有 extends 方法提供继承,我们可以通过 构造函数+原型对象模拟实现继承。 称为组合继承 1. call() 方法 function.call(thisArg,arg1,arg2,...) // thisArg 要修改this指向的目标 // arg1,arg2 函数需要传入的参数 2. 通过构造函数继承父类属性 原理:利用call() 方法,把父类的this 改为 指向子类的this,这样在 调用父类的构造函数时,就可以给子类赋值 // 1. 父构造函原创 2021-06-17 18:17:58 · 73 阅读 · 0 评论 -
JS高级-构造函数和原型
JS高级-构造函数和原型 1. 什么是构造函数? 构造函数时一种特殊的函数,在ES6之前用来初始化对象 1. 构造函数的几点要求: 1. 构造函数用于创建某一类对象,首字母要大写 2. 构造函数要和new一起使用才有意义 2. 构造函数在执行new时: 1. 在内存中创建一个新的空对象 2. 让this指向这个新对象 3. 执行构造函数里的代码,给这个对象添加属性和方法 4. 返回这个新对象(所以构造函数里不需要return) 构造函数的问题 存在浪费内存的问题 function St原创 2021-06-17 11:52:54 · 185 阅读 · 1 评论 -
JS-正则表达式
JS-正则表达式 什么是正则表达式 用于匹配字符串中字符组合的模式,在JavaScript中正则表达式也是 对象 正则在 JS 中的使用 1. 创建正则表达式 通过调用 RegExp 对象的构造函数创建 let rg = new RegExp(/正则表达式/) 通过字面量创建 let rg = /正则表达式/ 2. 测试正则表达式的方法: test() 是正则对象的方法 RegExpObj.text(str) // RegExpObj正则表达式对象 str 要检测的字符串 正则表达式原创 2021-06-16 22:51:36 · 211 阅读 · 1 评论 -
JS-ES6 类
JS-ES6 类 1. 如何定义一个类? class Star{ } //定义了一个叫Star的类 let you = new Star(); // 实例化了一个Star类,并赋值给you 2. 类中的函数 构造函数:在创建类的实例的时候会自动执行的函数 class Star{ constrcutor(name,age){ // 这里的this是指向new出来的实例 this.name = name; this.age = age; console.log(this.原创 2021-06-16 21:08:50 · 107 阅读 · 0 评论