JS 实践杂记

1. Function.prototype的类型是函数

typeof Function.prototype === 'function'; // true

2. Array.prototype的类型是数组

Array.isArray(Array.prototype); // true

3. 构造函数的返回值为基本数据类型时,其被实例化时将不生效

function People() { return 'a'; }  // People {}
function People() { return 3; }  // People {}
function People() { return false; }  // People {} 
function People() { return null; }  // People {}
function People() { return undefined; }  // People {}

4. 函数表达式中的函数名不可变更

5. 严格模式下,全局作用域内的直接函数的this指向undefined(非Window)

6. 可以使用按位或操作进行向下取整

var x = 1.9;
x | 0; // 1

7. 常用的继承模式

复制代码
function Super() {
    this.wealth = 1000;
}

function Child(name) {
    Super.call(this);
    this.name = name;   
}

const extend = function(SuperClass, ChildClass) {
    var F = function() {};
    F.prototype = SuperClass.prototype;
    ChildClass.prototype = new F();
    ChildClass.prototype.constructor = ChildClass;
};

extend(Super, Child);

const c = new Child('Lilei');

c.wealth; // 1000
c.name; // 'Lilei';
复制代码

8. Number()

Number(null); // 0
Number(undefined); // NaN

9. switch语句中的case子句使用的是严格相等来做判断

10. 类型转换

(1) 当尝试将[0]转换为布尔类型时,[0]将被转换为true;

(2) 当[0] == true做比较时,布尔类型会被转为数字(true -> 1),对象类型(如数组)会首先点用toString()方法,尝试将其转为字符串,而后将字符串转为数字(过程:[0] -> '0' -> 0。

[0] == true; 
// 如下:
0 == 1; // false

11. 关于拷贝

  11.1 拷贝一个对象,如果其某个属性是基本类型,拷贝的是属性的数据值;反之,如果其某个属性为引用类型,则拷贝的是属性的引用地址。

  11.2 “浅拷贝”与“深拷贝”的基础区别,“浅拷贝”只解决了对象第一层的拷贝问题。

  11.3 常见的浅拷贝方式

1
2
3
4
5
6
7
8
// 1. Object.assign方法
const copy = Object.assign({}, sources);
 
// 2. spread扩展运算法
const copy = { ... sources };
 
// 3. 数组slice方法
const sliced = sources.slice();<br><br>// 4. 数组concat方法<br>const c = a.concat(b);

  11.4 关于深拷贝概念的理解

  神拷贝会拷贝所有的属性,并动态分配拷贝属性指向的内存,当对象和它所引用的对象一起拷贝时即深拷贝。

// 持续补充中

posted @   樊顺  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示