js里的基本概念
Billy Feng
尽可能每天更新自己的播客,相信积累的过程就是复利的过程,加油,billy!!!!
展开
-
为了代码简洁性,引起值类型和引用类型赋值的错误说明
如果我们对引用类型进行复制,只进行了一次浅拷贝,此时新的变量和原变量仍然引用同一个对象,当我们修改其中一个变量所指向的对象时,其他变量也会受到影响。因此,如果我们想要分开操作多个变量则需要进行深度克隆,创建一个新的对象并将其属性复制到新的对象中,以确保变量之间的独立性。当我们修改一个值类型的变量时,实际上是在修改其所对应内存空间中的值,而其他变量仍然引用原来的值。因此,在对值类型进行赋值、传递参数或返回值时,都是进行了一次浅拷贝,即将值复制到新的内存空间中,并且新的变量仍然是一个独立的值类型。原创 2023-09-07 11:29:21 · 116 阅读 · 0 评论 -
注意用逻辑运算符 ||、&& 在if()里面写和在外面写的区别
如果在if()里面写的话,相当于就是Boolean()里面写 if(undefined || false) { } // 等同于 if(Boolean(undefined || false)){ } 如果在外面写的话,则就不同 console.log(123 || false) // 123 console.log(Boolean(123 || false)) // true ...原创 2022-03-20 22:39:22 · 596 阅读 · 0 评论 -
重新温习下闭包
最近看了下javascript高级程序设计(第三版)之后,对闭包重新理解了一下,闭包就是一个可以访问函数作用域的一个函数。根据下面的案例可以理解下。 //为了使循环的每一项都能依次返回对应的数字,这时可以使用闭包。 function createFunctions() { var result = new Array(); for (var i = 0; i < 10; i++) { result[i] = function (num) {原创 2020-12-27 10:28:32 · 89 阅读 · 0 评论 -
js中promise方案、async和await方案和传统方案来处理异步回调的问题
自从去了新公司之后,重温了下传统处理异步请求结果的方法,那就是回调函数,举个例子: /** * 获取用户信息 * @param {*} callback 回调函数 */ getUserInfo(callback) { //请求接口 bhTool.otherChannelLogin(data, (res) => { if (res.code === 200) { if (call原创 2020-12-12 16:48:40 · 379 阅读 · 0 评论 -
JavaScript对象的几种创建方式与优缺点
Object构造函数模式 使用场景:起始时不确定对象内部数据。 缺点:语句太多 var p = new Object() p.name = ‘tom’ p.age = 12 p.steName = function (name) { this.name = name } 对象字面量模式 适用场景:起始时对象数据确定。 缺点:如果创建多个对象、有重复代码。 var p = { name: ‘jack’, age: 13, setName: function (name) { this.name = name.原创 2020-11-02 23:22:44 · 97 阅读 · 0 评论 -
变量的作用域是声明时决定的,而不是运行时
今天一位朋友发了一个题目,我看了下竟然答错了,感觉以后在面试后会遇到,所以在这里写下。 //变量的作用域是“声明时”决定的,而不是运行时 var food = "milk"; function f1() { //访问food变量,当前环境没有food变量,但是其外部环境有该变量 console.log(food); } functio...原创 2020-03-22 21:22:34 · 240 阅读 · 0 评论 -
什么是闭包?闭包的优缺点?
什么是闭包?闭包的优缺点? 闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。 1、变量作用域 要理解闭包,首先要理解javascript的特殊的变量作用域。 变量的作用域无非就两种:全局变量和局部变量。 javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。 注意点:在函数内部声明变量...转载 2019-01-22 22:54:56 · 123 阅读 · 0 评论 -
原型和原型链
最近在复习原型和原型链,有几个网站作者写得不错,以下所写是对他们的总结。 1. https://www.cnblogs.com/jofun/p/8746511.html 2. https://www.cnblogs.com/lsy0403/p/5848636.html 3. https://www.cnblogs.com/shuiyi/p/5305435.html 首先先用以上一个图进行总结。 ...原创 2019-02-15 21:51:58 · 142 阅读 · 0 评论 -
js原型继承的几种方式
js原型继承的几种方式 借鉴https://www.cnblogs.com/luoguixin/p/6195902.html 1 原型链继承 2 构造函数继承(对象冒充继承) 3 组合继承(原型链继承+构造函数继承) 4 原型式继承 5 寄生组合式继承 一。原型链继承 // An highlighted block unction Show(){ this.name="run"; } funct...原创 2019-02-21 23:24:03 · 153 阅读 · 0 评论