JS基础
文章平均质量分 51
爱全栈的工程师
路漫漫其修远兮,吾将上下而求索。
展开
-
JS区分迭代器接口、可迭代接口、可迭代对象
原创 2024-02-28 17:10:15 · 385 阅读 · 0 评论 -
js如何区分bind()/apply()/call()方法
call和apply方法都是用于在给定的this环境下调用函数,返回值是调用函数在对应的this环境和参数情况下的返回值。官网对返回值的描述为:The result of calling the function with the specified this value and arguments. 由此也可知两个函数的目的和返回值都是相同的,只是用法不同而已。call和apply的不同点在于apply传入的参数是数组形式,而call是参数形式。由于这个不同点,可以使用apply进行更多的数组操作,可原创 2023-07-25 18:37:21 · 196 阅读 · 0 评论 -
三个属性让你学会书写横向滑动窗口!内附代码和详解!
此时子组件child1、child2和child3明显宽度变窄了,要是想保持子组件宽度不变,需要在子组件上添加flex-shrink: 0约束。之所以设置这个属性有用,是因为在默认情况下,flex-shrink的值为1,父元素宽度不够时,子元素会自己调整所占的宽度比。除此之外还有一个属性常被提到,即white-space,可以控制自组件内的文字不换行,如下图所示。父组件改为flex布局之后,子组件默认横向排列,代码和组件如下所示。初始代码和界面如下所示,显示为三个长宽固定的组件,默认从上到下排列。原创 2023-07-18 12:28:55 · 483 阅读 · 0 评论 -
Javascript字符串长度返回错误的原因
JavaScript 使用 Unicode 字符集。JavaScript 引擎内部,所有字符都用 Unicode 表示。每个字符在 JavaScript 内部都是以16位(即2个字节)的 UTF-16 格式储存。也就是说,JavaScript 的单位字符长度固定为16位长度,即2个字节。但是,UTF-16 有两种长度:对于码点在U+0000到U+FFFF之间的字符,长度为16位(即2个字节);对于码点在U+10000到U+10FFFF之间的字符,长度为32位(即4个字节)。JavaScript 对 U原创 2021-05-07 15:13:27 · 801 阅读 · 0 评论 -
ES6函数参数的解构赋值,以及2种设置参数默认值方法的区别
1. 函数参数的解构赋值方式下面代码中,函数add的参数表面上是一个数组,但在传入参数的那一刻,数组参数就被解构成变量x和y。对于函数内部的代码来说,它们能感受到的参数就是x和y。function add([x, y]){ return x + y;}add([1, 2]); // 3如下代码所示,函数参数写成对象的形式也可以,毕竟数组也是对象的一种。function add({x,原创 2021-05-07 14:58:32 · 385 阅读 · 0 评论 -
JS基础--组合继承,寄生组合式继承
以下内容总结自《JavaScript高级程序设计(第3版)》一. 组合继承组合继承使用原型链实现对原型属性和方法的继承,使用借用构造函数实现对实例属性的继承(引用类型的属性写在构造函数里)。示例:function SuperType (name) { this.name = name; this.colors = ["red", "green", "blue"];}SuperT...原创 2019-05-13 17:03:29 · 3603 阅读 · 2 评论 -
JS基础--子类型重写超类型方法原型链图解
首先我们创建一个父类:// 创建一个父类构造函数function Parent () { this.parentProperty = '父类属性';}// 为父类添加一个原型方法Parent.prototype.getParentProperty = function () { return this.parentProperty;}此时的原型链是这样的:接下来创建一个子类...原创 2019-05-06 16:13:57 · 843 阅读 · 2 评论 -
JS基础--ES5创建对象的7种模式
以下内容总结自《JavaScript高级程序设计(第3版)》一. 工厂模式ECMAScript中无法创建类,所以开发人员用函数封装以特定接口创建对象的细节。function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName...原创 2019-05-10 15:59:35 · 532 阅读 · 0 评论 -
JS字符串转换为数字,Number(),parseInt()和parseFloat()的区别
1. Number()能转换boolean值,null,只含整数或小数的字符串,空字符串,对象。2. parseInt()按字符解析,直到遇见第一个非数字字符为止。3. parseFloat()按字符解析,直到遇见一个无效的浮点数字字符为止。原创 2019-04-18 18:15:50 · 1293 阅读 · 0 评论 -
JS基础--Date.parse(),Date.UTC()和Date.now()
一. UTC和GMT的关系什么是GMT?格林尼治标准时间(Greenwich Mean Time,GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的时间。由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟。 地球每天的自转是有些不规则的,而且正在缓慢减速...原创 2019-04-27 19:13:11 · 2386 阅读 · 0 评论 -
JS学习--取整方法整理
一. Math对象取整Math对象提供静态方法:Math.ceil():向上取整Math.floor():向下取整Math.round():四舍五入Math.ceil(2.4) // 3Math.ceil(-2.4) // -2Math.floor(2.4) // 2Math.floor(-2.4) // -3Math.round(2.4) // 2Math.rou...原创 2019-04-12 18:38:38 · 883 阅读 · 0 评论