JavaScript的解析顺序 第一阶段:编译期 寻找关键字声明的变量.函数声明的变量,同时会对变量进行作用域的绑定 var声明的变量,在编译期会赋一个默认值undefined,变量提升的特性. ES6及以后所有的变量申明方式都不具备变量提升,在声明之前调用会报错,这个现象在语法上称为暂时性死区TDZ. 如果一个变量同时被var声明又被function声明,则变量提升的值以函数为准(函数为一等公民).但最后是以赋值的数值作为变量的最终值. console.log(a); //函数a consol…
数组的冒泡.选择和插入排序法 冒泡排序法(从小到大) function bubble(arr){ for(let i = 0 ;i<arr.length-1;i++){ for(let j = i+1;j<arr.length;j++){ if(arr[j]<arr[i]){ let temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } return arr; } 选择排序法(从小到大) function select(arr){ fo…
fetch 在原生ajax+es6promise的基础上封装的一个语法糖,返回promise对象. fetch(url, initObj) .then(res=>res.json()) .then(data=>{ //这里得到返回的json对象,可进行操作 }) .cateh(err){ console.log(err); }; //initObj { body: JSON.stringify(data), // must match 'Content-Type' header cache:…
DOM 常用的DOM获取方法: node.children 返回子元素节点,没有兼容性问题,动态获取 node.parentNode 获取父节点,没有兼容性问题 node.offsetParent 获取最近的定位父节点 node.tagName 获取元素节点的标签名 常用的DOM操作: document.createElement("TagName") 创建一个元素节点 parentNode.appendChild(node) 在父节点内容的最后添加子节点 parentNode.ins…
Symbol 为什么需要symbol ES5里面对象的属性名都是字符串,如果你需要使用一个别人提供的对象,你对这个对象有哪些属性也不是很清楚,但又想为这个对象新增一些属性,那么你新增的属性名就很可能和原来的属性名发送冲突,显然我们是不希望这种情况发生的.所以,我们需要确保每个属性名都是独一无二的,这样就可以防止属性名的冲突了.因此,ES6里就引入了Symbol,用它来产生一个独一无二的值. symbol是什么 Symbol是ES6引入的一种原始数据类型,接受一个字符串参数,来对产生的Symbol…
DOM特殊元素获取 document.documentElement //HTML标签 document.head //head标签 document.title //title标签 document.body //body标签 typeof 的那些坑 typeof null 返回Object, 然而null是基本类型值而不是引用类型值,null == null 是成立的. typeof NaN 返回number,NaN是一个自身不等于自身的数值类型. typeof Symbol 返回funct…
call,apply,bind call,apply,bind这三者的区别,及内部实现原理,点这里 promise promise函数的内部实现原理,点这里 闭包 闭包就是能够读取其他函数内部变量的函数.形式上,就是一个函数返回一个内部函数到函数外,内部函数引用外部函数的局部变量.本质上,闭包是将函数内部和函数外部连接起来的桥梁. 原型链 JavaScript中每一个对象都有一个__proto__和constructor属性,每一个函数都有一个prototype属性,因函数也是对象,所以函数也拥…
前端知识点回顾篇--是我当初刚转行为了面试而将自己学过的前端知识整理成的一份笔记,个人目的性很强,仅供参考. doctype 有什么用 doctype是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器要使用什么样的文档类型定义(DTD)来解析文档. 浏览器本身分为两种模式,一种是标准模式,一种是怪异模式(混杂模式),浏览器通过doctype来区分这两种模式,doctype在html中的作用就是触发浏览器的标准模式,如果html中省略了doctype,浏览器就会进入到Quirk…
原文链接: http://lunax.info/archives/3099.html Web 前端优化最佳实践之 JavaScript 篇,这部分有 6 条规则,和 CSS 篇 重复的有几条.前端优化最佳实践,最重要的还是”实践”,要理解这东西容易得很,关键是要去”实践”,去”执行”,去”反馈”,去获取受益. 1. 脚本放到 HTML 代码页底部 (Put Scripts at the Bottom) 当一个脚本在下载的时候,浏览器干不了其它的事儿(串行了).所以,把它扔到最后面去处理.对于一些…
一.JavaScript介绍  前端三剑客之JavaScript,简称js,可能是这三个里面最难的一个了.很早以前,市面上流通着三种js版本,为了统一,ECMA(欧洲计算机制造协会)定义了规范的版本,即EcmaScript. 事实上ECMAScript只是JavaScript的一部分,完整的JavaScript是由以下三个部分组成的: 核心(ECMAScript) 文档对象模型(DOM)Document object model 浏览器对象模型(BOM)Broswer object model…