目录
1.JavaScript中有多少个线程?
2.如何判断一个对象是不是空对象?
3.什么事JavaScript时间死区?
4.什么是JSON stringify?
1.JavaScript中有多少个线程?
JavaScript中的主线程负责执行代码、处理事件和更新用户界面。在浏览器环境中,主线程是单线程的,但可以通过Web Workers来创建额外的线程,实现并发处理。这些Web Workers与主线程并行运行,不共享内存,但可以通过消息传递进行通信。
2.如何判断一个对象是不是空对象?
判断一个对象是否为空对象,可以使用以下代码:
javascript">function isEmptyObject(obj) {return Object.keys(obj).length === 0 && obj.constructor === Object;}
Object.keys(obj).length === 0 检查对象是否有键,而 obj.constructor === Object 确保对象是普通对象而不是其他类型的对象。
3.什么事JavaScript时间死区?
时间死区(Temporal Dead Zone, TDZ)指的是在块级作用域中(由 let 和 const 声明的变量),从开始到变量声明语句执行之前,访问这些变量会引发 ReferenceError 。这是因为在变量声明之前,变量处于不可访问的状态,即使它已经在代码中被声明。
4.什么是JSON stringify?
JSON.stringify 函数将一个JavaScript对象或值转换成一个JSON格式的字符串。它的基本用法是:
javascript"> const obj = { name: "Alice", age: 25 };const jsonString = JSON.stringify(obj);console.log(jsonString); // 输出: '{"name":"Alice","age":25}'
这使得对象可以被存储或传输,并且易于解析。