1 变量类型和计算 1.1 值类型和引用类型的区别? 值类型:每个变量都会存储各自的值.不会相互影响 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数) 1.2 typeof可以及检测的数据类型有哪些? [!NOTE] 基本数据类型:Undefined null bool string number 关键点:typeof只能区分值类型,不能区分引用类型 JS中的基本数据类型:null, undefined, bool, string, number(typeof可以区分除了null以外…
1. 为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个…
1. Javascript继承 1.1 原型链继承 function Parent() { this.name = 'zhangsan'; this.children = ['A', 'B', 'C']; } Parent.prototype.getName = function() { console.log(this.name); } function Child() { } Child.prototype = new Parent(); var child = new Child(); c…
1.hybrid是什么,为何使用hybrid呢? 概念: hybrid就是前端和客户端的混合开发 需要前端开发人员和客户端开发人员配合完成 某些环节也可能会涉及到server端 大前端:网页.APP.前端和server端交互的过程 存在价值: 可以快速迭代更新[关键],无需APP审核(hybrid技术可以一天上线多次) 体验流畅(和Native开发的体验基本类似) 减少开发和沟通成本,双端公用一套代码 webview: 是APP中的一个组价(App可以有Webview,也可以么有) 主要用于加载…
1. v-bind和v-model的区别? v-bind用来绑定数据和属性以及表达式,缩写为':' v-model使用在表单中,实现双向数据绑定的,在表单元素外使用不起作用 2. Vue 中三要素的是什么? 2.1 响应式 // 如何让实现响应式的呢? let obj = {}; let name = 'zhangsan'; Object.defineProperties(obj, name, {get : function() { console.log('name' , name) }, s…
1.正则表达式基础 1.1 创建正则表达式 1.1.1 使用一个正则表达式字面量 const regex = /^[a-zA-Z]+[0-9]*\W?_$/gi; 1.1.2 调用RegExp对象的构造函数 const regex = new RegExp(pattern, [, flags]) 1.1.3 特殊字符 - ^ 匹配输入的开始 - $ 匹配输入的结束 - \* 0次或多次 {0,} - \+ 1次或多次 {1,} - ? - 0次或者1次 {0,1}. - 用于先行断言 - 如果紧…
1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activation Object  执行期上下文) 找形参和变量声明,将变量和形参名作为AO属性名,值为undefined. 变量声明提升(变量放到后面也不会报错,只是未定义类型)如:console.log(a);var a=10;结果undenfined; 将实参值和形参统一(传参) 在函数体里面找到函数声明…
1. 说一下使用jQuery和使用框架的区别? 数据和视图的分离,(jQuery数据和视图混在一起,代码耦合)-------开放封闭原则 以数据驱动视图(只关注数据变化,DOM操作被封装) 2.说一下对MVVM的理解? 先说MVC:Model, View, Controller(主要用于后端) MVVM: Model, View, ViewModel[中间连接者,连接view和和model] 关于ViewModel 2.2.1 MVVM在React中对应关系 1) M(odel):对应组件的方法…
1.如何搭建ES6的webpack开发环境? 安装Node环境 node -v // 10.14.1 安装NPM环境 npm -v // 6.4.1 安装babel npm install @babel/core babel-preset-es2015 babel-preset-latest 创建.babelrc文件 npm install babel-cli -g babel --version babel ./src/index.js // 测试babel的编译结构 Webpack---模块…
2.1 DOM操作 2.1.1 DOM的本质是什么? <!-- DOM树:二叉树 --> /* <?xml version="1.0" encoding="UTF-8"> // 告诉浏览器以哪一种类型进行解析 <node> <child /> </node> */ <!DOCTYPE html> // 以html类型进行解析文档内容 <html> <body> </…