随笔分类 -  javascript

摘要:1. 原型链继承(有缺陷): 缺陷1:切断了Zi.prototype.constructor与Zi的关系 缺陷2:原型链上的引用类型的数据会被所有实例共享 2. 构造函数继承(有缺陷): 缺陷1:Fu.prototype上的方法无法继承 3. 组合继承(推荐):优点:解决了原型链继承和构造函数继承的 阅读全文
posted @ 2019-05-27 17:37 chenjinbang 阅读(641) 评论(0) 推荐(1)
摘要:在a.html页面中: 在a.html页面中打开新窗口b.html页面: 发现b.html的window.opener.obj instanceof Object会输出false,这不是应该输出true吗。 分析原因: 这和引用数据类型的this指向的堆内存对象有关,因为两个是不一样的堆内存对象里面 阅读全文
posted @ 2019-05-27 17:28 chenjinbang 阅读(376) 评论(0) 推荐(0)
摘要:关于引用类型值的详解,请看另一篇随笔 https://www.cnblogs.com/jinbang/p/10346584.html 深拷贝和浅拷贝,也就是引用数据类型栈和堆的知识点。深浅拷贝的原型都是Object,深拷贝指向的堆内存不一样,浅拷贝指向的堆内存一样): 如何区分深拷贝与浅拷贝,就是假 阅读全文
posted @ 2019-02-01 18:30 chenjinbang 阅读(652) 评论(0) 推荐(0)
摘要:首先javascript的数据类型分为两种数据类型:基本数据类型和引用数据类型 基本数据类型:Number,String,Boolean,Undefined,Null。原始值,是简单的数据段,可按值访问,直接操作保存在变量中的实际值 引用数据类型:Object,Array,Function,Date 阅读全文
posted @ 2019-02-01 18:00 chenjinbang 阅读(983) 评论(0) 推荐(0)
摘要:首先先介绍一下微信小程序Page.prototype.setData(Object data, Function callback)的讲解: setData函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的this.data的值(同步) 微信小程序官网文档只对字符串,数字,数组和对象类型的数 阅读全文
posted @ 2019-01-19 15:24 chenjinbang 阅读(6024) 评论(1) 推荐(1)
摘要:使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增加内存使用量,使用不当很容易造成内存泄漏。 在js中,函数即闭包,只有函数才会产生作用域的概念 闭包有三大特性: 1. 函数嵌套函数 2. 函数内部可以引用外部的参数和变量,避免全局变量的污染 3. 阅读全文
posted @ 2018-03-29 16:18 chenjinbang 阅读(236) 评论(0) 推荐(0)
摘要:1. 使用JSONP 使用JSONP是最常用的方法,jsonp是json的一种“使用模式”,可以让网页从别的域名(网站)获取数据。其优点是兼容性好,简单易用, 支持浏览器与服务器双向通信,缺点是只支持GET请求。 为大家理解jsonp的原理,使用原生的模拟jsonp的访问过程。原理是,动态插入scr 阅读全文
posted @ 2018-03-29 16:05 chenjinbang 阅读(490) 评论(0) 推荐(0)
摘要:栈和队列的区别: 栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。 栈是先进后出,队列是先进先出。 栈只允许在表尾一端进行插入和删除,队列只允许在表尾一端进行插入,在表头一端进行删除。 栈和堆的区别: 栈区:由编辑器自动分配释放,存放函数的参数值,局部变量的值等(基本类型值)。 堆 阅读全文
posted @ 2018-03-27 17:30 chenjinbang 阅读(16843) 评论(0) 推荐(0)
摘要:解释javascript中window,document,body的区别: window对象表示浏览器中打开的窗口,即是一个浏览器窗口只有一个window对象。 document对象是载入浏览器的html文档,即是window载入document。 body对象代表html文档的主体(html bo 阅读全文
posted @ 2017-07-12 10:29 chenjinbang 阅读(3250) 评论(0) 推荐(0)
摘要:for...of循环是ES6引入的新的语法。 for...in遍历拿到的x是键(下标)。而for...of遍历拿到的x是值,但在对象中会提示不是一个迭代器报错。例子如下: let x; let a = ['A','B','C']; let b = {name: '刘德华',age: '18'}; c 阅读全文
posted @ 2017-05-12 21:47 chenjinbang 阅读(2707) 评论(0) 推荐(0)