随笔分类 -  JavaScript

摘要:总结 相同点:改变函数的this指向绑定到指定的对象上。 相同点:三者第一个参数都是this要指向的对象,如果如果没有这个参数或参数为undefined或null,则默认指向全局window。 不同点:传参形式不同。三者主要区别在于第二个参数。call和bind都为接受的是一个参数列表。call一次 阅读全文
posted @ 2022-05-23 18:44 Scok 阅读(75) 评论(0) 推荐(0) 编辑
摘要:柯里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 常用场景 参数复用 提前返回 延迟计算/运行 // 普通的add函数 function add(x, y) { return x + y } // Currying 阅读全文
posted @ 2022-03-20 14:56 Scok 阅读(112) 评论(0) 推荐(0) 编辑
摘要:JavaScript是一门单线程的非阻塞脚本语言,Event Loop就是为了解决JavaScript异步编程的一种解决方案。 总结 代码执行开启一个全局调用栈(主栈)提供代码运行的环境,在执行过程中同步任务的代码立即执行,遇到异步任务根据这个异步事件的类型,将异步的回调注册添加到对应的宏任务队列或 阅读全文
posted @ 2021-10-01 20:00 Scok 阅读(276) 评论(0) 推荐(0) 编辑
摘要:运行案例 运行代码 <div id="content" style="height:150px;line-height:150px;text-align:center; color: #fff;background-color:#ccc;font-size:80px;"> </div> <scrip 阅读全文
posted @ 2020-08-26 11:32 Scok 阅读(877) 评论(0) 推荐(0) 编辑
摘要:FALSY值 在 JavaScript 中只有 7 个 falsy 值。 这意味着当 JavaScript 期望一个布尔值,并被给与下面值中的一个时,它总是会被当做 false。 false false 关键字 0 数值 zero 0n 当 BigInt 作为布尔值使用时, 遵从其作为数值的规则. 阅读全文
posted @ 2020-08-18 15:48 Scok 阅读(310) 评论(0) 推荐(0) 编辑
摘要:原文作者:celineWong7 转载至链接:https://www.jianshu.com/p/cadcbab793d7 我们在判断参数是否为空时,希望把`null`, `undefined`, `{}`, `[]`,`""` 这五类都判定为空。 一、为什么判定空对象、空数据有点“难”? 首先,我 阅读全文
posted @ 2020-08-18 15:36 Scok 阅读(2277) 评论(0) 推荐(0) 编辑
摘要:总结 ​ 深拷贝和浅拷贝最根本的区别在于是否完整获取一个对象的复制实体,而不是引用。 实现浅拷贝的方法: Array.prototype.slice() Array.prototype.concat() Object.assign() 浅拷贝函数extendCopy() 实现深拷贝的方法: loda 阅读全文
posted @ 2020-08-18 13:42 Scok 阅读(255) 评论(0) 推荐(0) 编辑
摘要:动态类型 JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。这也意味着你可以使用同一个变量保存不同类型的数据: var foo = 42; // foo is a Number now foo = "bar"; // foo is 阅读全文
posted @ 2020-08-18 13:20 Scok 阅读(212) 评论(0) 推荐(0) 编辑
摘要:作者:趁你还年轻233 链接:https://www.jianshu.com/p/407b6c3677f5 来源:简书 类型:转载 这篇博客将主要提供几种解决小数精度丢失问题的JavaScript类库的代码示例,以及简单的原生EcmaScript方法的代码示例。 一丶类库部分 math.js mat 阅读全文
posted @ 2020-03-24 14:01 Scok 阅读(801) 评论(0) 推荐(0) 编辑
摘要:总结 for..of适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象.与forEach()不同的是,它可以正确响应break、continue和return语句。 for of循环不支持普通对象,但如果你想迭代一个对象的属性,你可以用for i 阅读全文
posted @ 2020-01-07 10:17 Scok 阅读(3020) 评论(0) 推荐(0) 编辑
摘要:Yarn和npm命令对比 | npm | yarn | | : | | | npm install | yarn | | npm install react save | yarn add react | | npm uninstall react save | yarn remove react 阅读全文
posted @ 2020-01-03 11:38 Scok 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:总结 devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以使用 save dev 的形式安装。 类似 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下 阅读全文
posted @ 2020-01-03 11:23 Scok 阅读(260) 评论(0) 推荐(0) 编辑
摘要:叫做严格运算符 , 叫做相等运算符. 严格运算符 规则: 基本类型 第一步:比较类型. 判断前后顺序的的类型值,如果俩个值的类型不同,则该表达式的直接返回False. 第二步:比较值. 类型值相同( ,`String Boolean`)时,判断值相同时返回True,否则返回False. undefi 阅读全文
posted @ 2019-12-28 21:46 Scok 阅读(584) 评论(0) 推荐(0) 编辑
摘要:拖放是一种非常流行的用户界面模式. 具体概念: 创建一个绝对定位的元素,使其在一定的范围内可以用鼠标按压移动. 当按下拖动元素的右下角元素时 可以改变可拖动元素的宽高 核心技术思想: 通过计算鼠标的相对计算位移,让按压的元素同样移动相同的距离. 技术难点: 元素在页面中的位置和鼠标在页面中的位置. 阅读全文
posted @ 2019-10-11 15:23 Scok 阅读(235) 评论(0) 推荐(0) 编辑
摘要:1 字符串与数组的创建 1.1 创建字符串 注: 1> ECMAScript中字符串单引号(')与双引号(")的定义完全相同,没有差别. 2>字符串一旦创建,就没法改变原字符串. 1.2 创建数组 注: 1> ECMAScript中的数组在运行中可以改变长度.其中属性Length为可读可写属性.即可 阅读全文
posted @ 2019-08-30 18:58 Scok 阅读(209) 评论(0) 推荐(0) 编辑
摘要:JavaScript的预解析 1.Javascript语言的运行流程<就目前知识而言> Javascript是一门单线程的解释性语言.在被浏览器JS引擎解读的时候,Javascript不会立即执行,而是先扫描代码,检测代码语法是否有错误.如果语法没有错误,就会将所有的声明的变量和函数进行声明提升.声 阅读全文
posted @ 2019-08-24 17:01 Scok 阅读(124) 评论(0) 推荐(0) 编辑
摘要:数字转字符串的方式: 1->数字调用toString方法转换为字符串.--num.toString(). 2->数字作为形参调用String函数.--String(num). 3->利用Javascript类型转换的默认属性,数字加上空字符串""或''. var num = 1234; var st 阅读全文
posted @ 2019-08-21 08:44 Scok 阅读(373) 评论(0) 推荐(0) 编辑
摘要:JavaScript运算符号可以分为以下三大类 物理运算符 逻辑运算符 关系运算符 物理运算符 逻辑运算符 关系运算符 物理运算符:数据可以分为 加(+) 减(-) 乘(*) 除(/) 取余(%). 加(+)操作符可能会产生意外的运算结果.当字符串与数字相加的时候,JavaScript会先将数字转化 阅读全文
posted @ 2019-08-20 21:09 Scok 阅读(144) 评论(0) 推荐(0) 编辑
摘要:JavaScript总体可以分成以下两大类. 1->基本数据类型 |->数字类型 (Number) |->字符串 (String) |->布尔值 (Boolean) |->Null (空值) |->Undefined (未定义类型) 2->复杂数据类型 |->Object (本质上是一组无序的名值对 阅读全文
posted @ 2019-08-20 21:00 Scok 阅读(183) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示