JavaScript
@_未命名
从事java web 开发。
知道的越多,不知道的就越多。
展开
-
ES6中的箭头函数、剩余参数、扩展运算符
箭头函数 箭头函数是用来简化函数定义语法的 const fn = () => { console.log(2132); } fn(); 函数体中只有一句代码,并且代码的执行结果就是返回值,可以省略大括号 const sum = (num1,num2) => num1 + num2; 如果形参只有一个,可以省略小括号 const fn = (v) => { alert(v); } fn(20); const fn2 = v => { alert(v); } fn(30原创 2020-09-02 23:17:29 · 162 阅读 · 0 评论 -
ES67的解构赋值
ES6允许从数组中提取值,按照对应位置对变量赋值。对象也可以实现解构。 按照一定的模式,从数组或者对象中提取值,将提取出来的值赋值给变量 数组解构 let [a,b,c] = [1,2,3] console.log(a); console.log(b); console.log(c); 如果结构不成功,变量的值为undefined let [a,s,d,f] = [11,22,33]; console.log(a);//11 console.log(s);//22 console.log(d);//33原创 2020-09-02 17:45:26 · 153 阅读 · 0 评论 -
JavaScript中正则表达的使用
什么是正则表达式 正则表达式(Regular Expression)是用于匹配字符中的字符组合的模式,在JavaScript中,正则表达式是对象 作用: 匹配:验证表单 替换:过滤敏感词 提取:从字符串中获取想要的特定部分 // /表达式/ var regexp = new RegExp(/asd/); var rg = /asd/; test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回true或false,参数是测试字符串 regexObj.test(str) ...原创 2020-09-02 16:56:29 · 151 阅读 · 0 评论 -
JavaScript浅拷贝和深拷贝详解
浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用 深拷贝拷贝多层,每一级别的数据都会拷贝 Object.assgin(target,…sources) ES6新增方法可以浅拷贝 浅拷贝 var obj = { id :1, name : '蜘蛛侠', msg : { age: 20 } } var o = {}; //方法一 for (var i in obj){ o[i] = obj[i]; } //方法2 Object.assign(o,ibj); //浅拷贝第一层之外的更深层只是拷贝.原创 2020-08-29 18:56:34 · 146 阅读 · 0 评论 -
JavaScript 中的递归函数详解
如果一个函数在内部可以调用本身,,那个这个函数就是递归函数。 递归函数的作用和循环的效果一样 递归很容易发生“栈溢出"Stack overflow 错误,所以必须要添加退出条件return var num = 1; function fn(){ console.log('打印hello'); if(num == 6){ return; } num++; fn(); } fn(); 利用递归函数求1-n的阶乘12345…n function fn(n){ if(n== 1) { re原创 2020-08-28 18:02:06 · 866 阅读 · 1 评论 -
javaScript 中的严格模式
ES5的严格模式是采用具有限制性javaScript变体的一种方式,即在严格的条件下运行。IE10以上支持,旧版本会被忽略。 特点: 消除了JavaScript语法的一些不合理、不严谨之处 消除代码运行中的不安全之处,保证运行安全 提高编译器效率,增加运行速度。 禁用了在ECMScript的未来版本中可能会定义的一些语法,如一些保留字不能做变量名(class、enum、export、extends、import、super) 严格模式可以应用到整个脚本或者个别函数中 为脚本开启严格模式原创 2020-08-06 11:28:18 · 153 阅读 · 0 评论 -
js 继承父构造函数的属性和方法
ES6之前没有extends,可以通过构造函数 + 原型对象实现继承,叫组合继承 call() 调用这个函数,并修改函数运行时this指向 fun.call(thisArg,aeg1,aeg2....) thisArg 调用函数的this的指向对象 aeg1,aeg2 传递参数 调用函数 function fn(x,y){ console.log(this); console.log(x + y); } var star = { name : "刘德华" } fn.call(.原创 2020-07-27 16:41:18 · 333 阅读 · 0 评论 -
javaScript 中this 的指向及改变this指向
函数内this指向 this的指向是在函数调用的时候决定的,调用方式不同决定了指向不同,一般都指向调用者。 普通函数 指向window,window为普通函数的调用者,window.fun(); 对象方法的调用指向该对象。 构造函数调用指向实例对象,原型对象里面的方法也指向实例对象 事件绑定函数指向绑定事件对象 定时器函数和立即执行函数 都指向window 改变函数内部this的指向 javaScript 提供了一些方法能改变this的指向,常用的有bind(),call(),apply() call原创 2020-07-22 10:12:04 · 73 阅读 · 0 评论 -
ES6面向对象和类Class,及属性和方法
什么是对象 对象是为了描述显示世界中的事物,事物本身的或者是赋予事物的属性和行为,像生活中的事物一样,js中创建的对象由数据和方法组成,也就是属性和行为。JS中的函数、数组、等都可以理解为是一个对象。对象会有抽象、封装、继承、多态的特征。 由class 关键字声明个类,之后以这个类通过new关键字实例化对象。类是抽象了对象的公共部分,是泛指的某一大类。对象是特指的某一个,通过类实例化一个具体的对象。特点是抽象对象共有的属性和行为封装成为一个类,对类实例化,获取类的对象 class Star{ .原创 2020-07-22 10:09:53 · 373 阅读 · 0 评论 -
ES6 类的继承,this 的指向,super关键字的使用
继承:子类可以继承父类的一些属性和方法 <body> <button>加法 </button> <script> var that; class Father{//父类 constructor(x,y){ that = this; this.x=x; this.y=y; this.btn=document.querySelector('button'); .原创 2020-07-21 16:40:12 · 817 阅读 · 0 评论 -
JavaScript中什么是闭包?
闭包 变量作用域 根据作用域不同分为:全局变量和局部变量 1.函数内部可以使用全局变量 2.函数外部不可以使用局部变量 3.当函数执行完毕,本作用域内的局部变量会销毁 什么是闭包 闭包指有权访问另一个函数作用域中变量的函数。–JavaScript高级程序设计 可以理解为:一个作用域可以访问另外一个函数内部的局部变量。 function fn(){ var num = 10; function fun(){ console.log(num ) } fun(); } fn();//fn原创 2020-07-21 16:33:44 · 96 阅读 · 0 评论