js专栏
文章平均质量分 67
js基础知识
白桃味稠鱼烧
这个作者很懒,什么都没留下…
展开
-
关键字 new 创建对象的内部步骤
工厂模式 创建对象function creatPerson(name, age, job) { let obj = new Object(); obj.name = name; obj.age = age; obj.job = job; obj.sayName = function () { alert(this.name); }; return obj;}let person1 = creatPerson('al',26,'Doctor')let per.原创 2023-08-04 17:44:17 · 213 阅读 · 0 评论 -
Vue-v-for列表渲染
列表渲染这个东西,在远古时期( 或者说是在没有这种Vue、React等这种便捷工具时期 ),我们的渲染都是手工写出来的。例如以前的 使用 jq 写 列表页的时候,我们都是先写出静态页面,然后根据返回的数组数据,通过forEach 循环,然后 append 到父节点内部,从而完成展示。但是这样的缺陷其实很大,因为如果数据很多的话,一旦返回的数组数据中,有某一条数据发生了,会导致所有的数据全部重写渲染一遍,造成了极大的性能开销。但是在新的 Vue 工具中,为我们提供了简单方便的渲染方法 :v-for原创 2021-11-26 15:29:20 · 1907 阅读 · 0 评论 -
Math对象--确定最大最小值
Math 对象 存在两个方法来确定最大最小值,分别是 max 和 min ,但是这两个方法,接收的参数,只能是 逗号分隔 的数字,或者是 数字字符串,数字字符串在比较的时候,会自动转为 数字类似下面这样let max1 = Math.max("1", "2", "3");console.log(max1); // 3let max1 = Math.max(1, 2, 3);console.log(max1); // 3但是如果需要处理的是一个数组,那又该怎么办,如果直接把数组传递进..原创 2020-12-03 23:18:52 · 889 阅读 · 0 评论 -
对不同格式的数据实现深拷贝
不论传递的数据是什么格式的,都能实现深拷贝效果,不必拘泥于传参格式需要是数组或对象形式let obj = { a: 1, b: '2', c: undefined, d: null, e: true, f: ['q', 'w', 'e', 'r'], g: { z: 'zz', x: 'xx', c: ['cc', 'vv', 'nn'] }}function clone(obj) { let objData if (typeof obj == 'number.原创 2020-07-05 14:19:16 · 793 阅读 · 0 评论 -
var a={n:1}; var b=a; a.x=a={n:2}; console.log(a.x); console.log(b.x);
参考链接点这里运算符优先级点这里转载 2020-07-02 15:09:58 · 701 阅读 · 0 评论 -
js实现异步编程
说道异步问题,可能最常见的就是一下几种1、使用 callback 回调函数2、使用 事件监听机制3、使用 发布/订阅模式4、使用 Promise 异步5、使用 async/await 实现异步剩下的还有:6、envent loop 事件队列实现异步操作7、defer 通过给脚本文件添加defer 属性,实现异步callbackcallback应该是最熟悉的异步操作了,毕竟在没有这么丰富的异步方法之前,我们都是在回调地狱里面苦苦挣扎的。callback其实就是将某.原创 2020-08-27 13:47:33 · 250 阅读 · 0 评论 -
ES5和ES6的继承有哪些优劣?
https://blog.csdn.net/huangpb123/article/details/102654341原创 2020-06-29 17:37:36 · 601 阅读 · 0 评论 -
JS函数–this指向
函数名()自执行,那么this指向的就是window函数自执行的时候,是处于全局环境下的,所以 this 指向 windowfunction Fn() { console.log(this)}Fn(); //函数自执行,this指向window作为对象方法调用,this 指向该对象var o = { m: function test() { console.log(this); }};o.m(); // {m ..原创 2020-05-23 18:00:07 · 211 阅读 · 0 评论 -
js引用类型-Function类型
函数实际上都是对象,每个函数都是 Function 类型的实例,且与其他引用类型一样具有属性和方法。由于函数是对象,因此,函数名实际上是一个指向函数对象的指针,不会绑定某个函数。创建函数的方式1、函数声明 :通常都是使用函数声明的方式创建函数function name(params) { console.log("111");}2、函数表达式 :在使用函数表达式的时候,没有必要使用函数名--可以通过变量引用这个函数let fun1 = function () { ..原创 2020-08-03 17:01:44 · 446 阅读 · 0 评论 -
js引用类型-Array 类型
接着之前的 Object 类型,这篇梳理的是 Array 类型1、数组中每一项都可以是js中的任何数据类型的数据2、数组的长度是可以动态调整的,可以随着数据的添加删除而自动改变数组长度创建数组方式1、使用 Array 构造函数let arr = new Array()如果知道需要保存的项目的数量,也可以在创建数组的时候,将数量传递进去,传递的数量就是创建的数组的长度,但是此时数组中的每一项都是空的,打印的时候可以看到,数组中每一项都是 undefinedlet ar...原创 2020-06-11 11:49:11 · 209 阅读 · 0 评论 -
js引用类型-Object 类型
js高程上的总结我归纳了一下:1、引用类型的值是对象2、引用类型的值是某个特定引用类型的实例Object类型到目前为止,我们看到的大多数引用类型都是 Object 类型的实例 ,而且该类型也是 JS 中 使用最多的一个类型。创建 Object 实例的方式有两种1、使用 new 操作符,跟上Object 构造函数。let test = new Object()test.name = "al"test.six = "man"2、字面量方式创建let = {...原创 2020-06-10 15:49:54 · 167 阅读 · 0 评论 -
变量复制与函数传参
看高程的时候,看到这么一个概念:“ECMAScript 中所有函数的参数都是按值传递” 。对于基本数据类型都好理解,但是对于引用数据类型,当时觉得就是按照引用类型传递的,没有搞懂说的按值传递是什么意思。直到看技术博客的时候看到这么一句话让我豁然开朗:函数的参数传递,传递的都是值,参数是 Object 类型的也一样,也是值,只不过这个值是地址值。针对于这个知识点,做了一个扩散,比较详细的分析了这个概念问题,在自己深入理解的同时也希望能帮到同样不是很理解的开发人员js数据类型首先,我们知道j原创 2020-05-09 22:59:33 · 219 阅读 · 0 评论 -
js-原型和原型链
首先,任何对象都存在原型,也就是存在__proto__但是,只有构造函数才会存在 prototype原创 2020-05-25 15:42:36 · 216 阅读 · 0 评论 -
ES6---new Promise()使用方法
这是一篇比较好的博文,细致、深入、全面的讲解了Promise ,在我对Promise 一知半解的时候,给了我很大启发,在此转载,以供自己以及其他对Promise 不甚理解的前端开发者阅览。2015年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的...转载 2020-07-01 19:34:46 · 13466 阅读 · 2 评论