js设计模式
开心大表哥
高级前端开发进阶版
展开
-
node中的express框架,nodemon设置修改代码后服务自动重启
原始node中的express框架,每次修改js代码后,都要重新npm start 才能看到改动后的效果,调试起来十分不方便。所以我引入了nodemon模块了弥补这样缺点。 安装nodemon:npm install -g nodemon或者安装到本地npm install nodemon --save在项目目录下创建 nodemon.json 文件{ "restartable": "rs原创 2017-12-18 12:50:44 · 28089 阅读 · 0 评论 -
JavaScript引擎运行原理解析
1. 什么是JavaScript解析引擎?简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。比方说,当你写了 var a = 1 + 1; 这样一段代码,JavaScript引擎做的事情就是看懂(解析)你这段代码,并且将a的值变为2。“JavaScript 引擎”通常被称作一种虚拟机。JavaScript 虚拟机是一种进程虚拟...原创 2018-09-30 10:16:41 · 5542 阅读 · 1 评论 -
ES6中class的getter和setter在继承中踩坑
在 Class 内部可以使用get和set关键字, 对某个属性设置存值函数和取值函数, 拦截该属性的存取行为。在 Class 内部的get、set用法,看起来比较舒服,而且可以写同名函数了。class MyClass { constructor() {} get prop() { return 'getter'; } set prop(value) { console.log(...原创 2018-09-19 15:19:45 · 6564 阅读 · 1 评论 -
解读es6 class 中 constructor 方法 和 super 的作用
ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的。类和模块的内部,默认就是严格模式,所以不需要使用use strict指定运行模式。//定义类class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { r...原创 2018-09-19 15:06:34 · 19473 阅读 · 7 评论 -
Vue的响应式原理(MVVM)深入解析
[Vue] - 1. 如何实现一个响应式对象最近在看 Vue 的源码,其中最核心基础的一块就是 Observer/Watcher/Dep, 简而言之就是,Vue 是如何拦截数据的读写, 如果实现对应的监听,并且特定的监听执行特定的回调或者渲染逻辑的。总的可以拆成三大块来说。这一块,主要说的是 Vue 是如何将一个 plain object 给处理成 reactive object 的,也就是,...原创 2018-07-10 09:42:09 · 15328 阅读 · 2 评论 -
Javascript闭包由浅入深题目
闭包就是能够读取其他函数内部变量的函数两个最大用处 一个是前面提到的可以读取函数内部的变量; 一个就是让这些变量的值始终保持在内存中。1、变量作用域 要理解闭包,首先要理解javascript的特殊的变量作用域。 变量的作用域无非就两种:全局变量和局部变量。 javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。 注意...原创 2018-05-07 00:28:06 · 1571 阅读 · 1 评论 -
浏览器同源政策之ajax请求不能发送
同源政策(same-origin policy)是浏览器安全的基石同源指的是三个相同 限制范围(1) Cookie、LocalStorage 和 IndexDB 无法读取。(2) DOM 无法获得。(3) AJAX 请求不能发送。下面重点讲解AJAX 请求不能发送: 同源政策规定,AJAX请求只能发给同源的网址,否则就报错。 有4种方法规避这个限制:1.JSO...原创 2018-05-06 10:01:22 · 2068 阅读 · 1 评论 -
简要理解vue的mvvm模式中的双向数据绑定
mvvm(Model-View-ViewModel)模式: 由视图(View)、视图模型(ViewModel)、模型(Model)三部分组成,结构如下图。 通过这三部分实现UI逻辑、呈现逻辑和状态控制、数据与业务逻辑的分离。使用MVVM模式有几大好处: 1. 低耦合。View可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Mo...原创 2018-05-05 11:30:51 · 3380 阅读 · 1 评论 -
Javascript 严格模式有什么限制
除了正常运行模式,ECMAscript 5添加了第二种运行模式:”严格模式”(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。 严格模式主要有以下限制: 1.变量必须声明后再使用 2.函数的参数不能有同名属性,否则报错 3.不能使用with语句 4.不能对只读属性赋值,否则报错 5.不能使用前缀 0 表示八进制数,否则报错 6.不能删除不可删...原创 2018-02-27 10:33:17 · 2624 阅读 · 0 评论