
JavaScript
换头像真麻烦
这个作者很懒,什么都没留下…
展开
-
JS对象(this)绑定规则
摘录于《你不知道的js》(上)由 new 调用?绑定到新创建的对象由 call 或者 apply(或者 bind )调用?绑定到指定对象由上下文对象调用?绑定到那个上下文对象默认:在严格模式下绑定到 undefined,否则绑定到全局对象ES6 中的 this 绑定在箭头函数中不会使用以上四条标准,会继承外层函数调用的 this 绑定(无论 this 绑定到什么),而且箭头函数的绑定无...原创 2019-03-04 23:33:19 · 603 阅读 · 0 评论 -
JS数组常用方法
join()方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔var a = [1, 2, 3, 4];a.join(' ') // '1 2 3 4'a.join(' | ') // "1 | 2 | 3 | 4"a.join() // "1,2,3,4"concat 方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,...原创 2019-03-18 22:13:53 · 134 阅读 · 0 评论 -
JS定时器
1. setTimeout()setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。setTimeout函数接受两个参数,第一个参数func|code是将要推迟执行的函数名或者一段代码,第二个参数delay是推迟执行的毫秒数,setTimeout的第二个参数如果省略,则默认为 0,除了前两个参数,setTimeout...原创 2019-03-22 09:59:02 · 561 阅读 · 0 评论 -
JS中的实例对象与 new 命令
1. 构造函数JavaScript 语言的对象体系,不是基于“类”的,而是基于构造函数(constructor)和原型链(prototype)JavaScript 语言使用构造函数(constructor)作为对象的模板。所谓”构造函数”,就是专门用来生成实例对象的函数。它就是对象的模板,描述实例对象的基本结构。一个构造函数,可以生成多个实例对象,这些实例对象都有相同的结构构造函数就是一个普...原创 2019-03-13 17:35:49 · 314 阅读 · 0 评论 -
JS中 JSON 的用法
一、JSON.stringify()1. JSON.stringify() 用于将一个值转为 JSON 字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原JSON.stringify('abc') // ""abc""JSON.stringify(1) // "1"JSON.stringify(false) // "false"J原创 2019-03-13 16:13:47 · 1462 阅读 · 0 评论 -
JS之异步探究
1. 单线程模型单线程模型指的是,JavaScript 只在一个线程上运行。也就是说,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待注意,JavaScript 只在一个线程上运行,不代表 JavaScript 引擎只有一个线程。事实上,JavaScript 引擎有多个线程,单个脚本只能在一个线程上运行(称为主线程),其他线程都是在后台配合JavaScript 之所以...原创 2019-03-21 18:55:15 · 172 阅读 · 0 评论 -
JS中 Object 对象常用方法
1. Object.getPrototypeOf()Object.getPrototypeOf方法返回参数对象的原型。这是获取原型对象的标准方法var F = function () {};var f = new F();Object.getPrototypeOf(f) === F.prototype // true上面代码中,实例对象f的原型是F.prototype下面是几种特殊对...原创 2019-03-16 15:31:17 · 1069 阅读 · 1 评论 -
JS正则表达式
1. 概述新建正则表达式有两种方法。一种是使用字面量,编译时执行,速度快,常用,以斜杠表示开始和结束var regex = /xyz/;另一种是使用 RegExp 构造函数,运行时执行var regex = new RegExp('xyz');RegExp 构造函数还可以接受第二个参数,表示修饰符var regex = new RegExp('xyz', 'i');// 等价于...原创 2019-03-11 20:43:08 · 245 阅读 · 0 评论 -
JS对象的继承
1. 原型对象概述1.1 构造函数的缺点function Cat(name, color) { this.name = name; this.color = color; this.meow = function () { console.log('喵喵'); };}var cat1 = new Cat('大毛', '白色');var cat2 = new Ca...原创 2019-03-15 09:57:27 · 223 阅读 · 0 评论 -
JS事件
所有事件可以分成四个大类mouse:“mousedown”, “mouseup”, “click”, “dblclick”, “mousemove”, “mouseover”, “mouseout”, “mousewheel”key:“keydown”, “keyup”, “keypress”, “textInput”touch:“touchstart”, “touchmove”, “to...原创 2019-03-04 16:59:33 · 142 阅读 · 0 评论 -
JS常用函数和技巧
console.time(),console.timeEnd()这两个方法用于计时,可以算出一个操作所花费的准确时间。console.time('Array initialize');var array= new Array(1000000);for (var i = array.length - 1; i >= 0; i--) {原创 2019-03-04 16:58:11 · 258 阅读 · 0 评论 -
JS中的 this 关键字(偏应用)
1. 涵义简单说,this就是属性或方法“当前”所在的对象var person = { name: '张三', describe: function () { return '姓名:'+ this.name; }};person.describe()// "姓名:张三"由于对象的属性可以赋给另一个对象,所以属性所在的当前对象是可变的,即this的指向是可变的v...原创 2019-03-14 12:06:21 · 221 阅读 · 0 评论 -
JS运算符技巧、数据类型转换
~~x 对 x 取整最快的方法,其他方法 x ^ 0 x << 0a ^= b, b ^= a, a ^= b; 不引入变量情况下交换两个变量值最快的方法!!x 等同于 Boolean(x)i && doSomething(); 等同于 if (i) { doSomething(); }function saveT原创 2019-03-04 15:22:36 · 192 阅读 · 0 评论 -
js模块化编程之彻底弄懂CommonJS和AMD/CMD!
JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。现在就看看吧,这些规范到底是啥东西,干嘛的。本文包括这三个规范的来源及对应的产物的原理。一、CommonJS这里提供 CommonJS参考文档1.一开始大家都认为JS是辣鸡,没什么用,官方定义的A...转载 2019-03-03 21:44:16 · 161 阅读 · 0 评论 -
JS作用域
摘录于《你不知道的js》(上)1. 逐层向外查找作用域中的定义function foo(a) { var b = a * 2; function bar(c) { console.log( a, b, c ); } bar( b * 3 );}foo( 2 ); // 2, 4, 122. 欺骗作用域function foo(str, a) { eval( str )...原创 2019-03-03 19:31:33 · 166 阅读 · 0 评论 -
JS关于 setTimeout 函数
JavaScript 中的 setTimeout() 可用来延迟执行一段代码,但结合 JS 的运行原理,留下了一些坑先打印了 Hello 再打印 Hello World,setTimeout(0) 似乎不是立即执行的setTimeout( function() { console.log("Hello World");}, 0)console.log('Hello');打印tas...原创 2019-03-03 17:27:31 · 1108 阅读 · 0 评论 -
JS字符串常用方法
String.prototype.charAt() 返回指定位置的字符,参数是从0开始编号的位置,这个方法完全可以用数组下标替代,如果参数为负数,或大于等于字符串的长度,charAt返回空字符串'abc'.charAt(1) // "b"'abc'[1] // "b"'abc'.charAt(-1) // ""'abc'.charAt(3) // ""String.prototy...原创 2019-03-18 22:22:43 · 188 阅读 · 0 评论