随笔分类 - JavaScript
摘要:一、new实现 function _new() { let obj= {}; // 创建的新对象 // 第一个参数是构造函数 let [constructor, ...args] = [...arguments]; // 存取构造函数原型 obj.__proto__ = constructor.pr
阅读全文
摘要:一、触发条件 当某个对象有焦点且有监听keydown、keypress、keyup事件时,通过按下松开键盘的某个键来触发 二、区分 1、触发区分 keydown是按下键盘的任何键触发 keypress是按下键盘的键,且能翻译为ASCII字符才会触发 keyup则是按下键盘的键,在松开时触发 keyd
阅读全文
摘要:Promise封装 一、ES5 构造函数版 Promise对象 /** * promise封装 es5版本 */ function Mypromise (callback) { const _this = this this.value = undefined this.status = 'pend
阅读全文
摘要:一、防抖 debounce(频繁操作最后触发,避免频繁触发) 场景 1. 监听一个输入框,内容发生变化触发change事件,当我们在输入或者删除时会频繁触发change事件,中间这些触发时没必要的,只要当我们停止改变时触发一次change就可以 2. 监听滚动条,滚动条滚动触发scroll事件,当我
阅读全文
摘要:一、为什么JS需要异步 JavaScript是单线程语言,同一时间只能做一件事,JS执行和DOM渲染公用一个线程,当JS执行时会阻塞DOM解析和DOM渲染。 当我们发出网络请求或者定时器任务,需要时间可能很长,这时候不能让页面卡住,因为可能会造成页面空白,让用户长时间的等待,这是极其影响用户体验的,
阅读全文
摘要:正则 RegExp 前言 转义操作符 \ 多行字符串 利用 \ 来表示换行 /*字符串换行用\*/ var str = "dkhdsjh\ dahjdh\ ddjhf"; /*。。。。。。。。。。。。。。*/ 定义 / 创建 var reg = /abc/g; //推荐 typeof reg ->
阅读全文
摘要:一些js基本知识点 Doctype 浏览器渲染模式 渲染模式发展历史 在多年以前(IE6诞生以前),各浏览器都处于各自比较封闭的发展中(基本没有兼容性可谈)。随着WEB的发展,兼容性问题的解决越来越显得迫切,随即,各浏览器厂商发布了按照标准模式(遵循各厂商制定的统一标准)工作的浏览器,比如IE6就是
阅读全文
摘要:json与jsonp区别 json是一种数据格式,而jsonp是一种数据传送方式 什么是json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族
阅读全文
摘要:history是JavaScript中BOM上的一个对象,其中存储了浏览器的历史记录 history存储简单过程 浏览器会将一个窗口中访问的网页进行记录,不管我们通过以下哪种方式改变页面,浏览器都会把改变后的网页记录下来,以便通过浏览器的前进和后退按钮,可以快速切换到已经访问到的页面。这些方式是:
阅读全文
摘要:BOM BOM简介 定义: Browser Object Model,定义了操作浏览器的接口 BOM对象: Window History Navigator Screen Location …… 由于浏览器厂商的不同,Bom对象的兼容性极低。一般情况下,我只用其中的部分功能。 定义: Browser
阅读全文
摘要:这是一些js原生封装的函数,主要是为了兼容IE浏览器,如下 获取css样式 fixed封装 获取浏览器可视区域宽度 获取浏览器滚动距离 获取元素尺寸宽高 获取元素相对于浏览器的left和top值 绑定事件 取消事件绑定 阻止事件冒泡 取消默认事件 拖拽实现 js异步加载
阅读全文
摘要:一、通过定时器我们可以间隔设定时间重复调用某个函数,利用这个特性,我们可以做很多事,例如,12306上的每间隔5秒查询自动查询一次余票,简单动画的实现等等 二、定时器的格式: 定时器有两种格式,分别是setInterval(func, time) 和 setTimeout(func, time),这
阅读全文
摘要:通过日期对象我们可以进行一些对日期时间的操作处理 一、日期对象的创建: var myDate=new Date() 二、Date对象方法: Link:http://www.w3school.com.cn/jsref/jsref_obj_date.asp 三、封装函数,打印当前是何年何月何日何时,几分
阅读全文
摘要:一、用法: 在全局或局部开头加上“use strict”即可 就是一行字符串,不会对不兼容严格模式的浏览器产生影响。二、不再兼容es3的一些不规则语法。使用全新的es5规范。三、两种用法: 全局严格模式 局部函数内严格模式(推荐)四、常用的一些特点: 1、不支持with,arguments.call
阅读全文
摘要:关于try{}catch(e){}finally{} 一、用法: 格式: try{}catch(e){}finally{},在很多语言中都有try语句,且用法都差不多,几乎没什么差异 二、Error.name的六种值对应的信息 1、EvalError: eval()的使用与定义不一致 2、Range
阅读全文
摘要:一、对象的定义: 对象是JavaScript的一个基本数据类型,是一种复合值,它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值。即属性的无序集合。 二、对象的创建(多种方法) 1、对象直接量 / 字面量 var obj = { name: 'lyl', age: 18 } conso
阅读全文
摘要:一、定义: 1.函数声明 function func () {} 2.函数表达式 var func = function () {} 注意点: var func = function test () {} func(); // ok test(); // 报错, test isn't defined
阅读全文
摘要:1.javascript发展史 javascript首先由Netscape设计,为改善浏览器用户体验,名为liveScript, 网景公司被sun公司收购,为了宣传改名为javascript 后来sun公司被oracle公司收购,javascript版权归oracle所有 2.浏览器 = shell
阅读全文
摘要:因为无论是数组还是对象,对于typeof的操作返回值都为object,所以就有了区分数组类型和对象类型的需要: 方一:通过length属性:一般情况下对象没有length属性值,其值为undefiend,而数组的length值为number类型 缺点:非常不实用,当对象的属性存在length,且其值
阅读全文
摘要:一、this的常见判断: 1.函数预编译过程 this —> window 2.全局作用域里 this —> window 3.call/apply 可以改变函数运行时this指向 4.obj.func(); func()里面的this指向obj(即谁调用该函数,函数内this就指向谁) 二、thi
阅读全文

浙公网安备 33010602011771号