Open kangkai124 opened 5 years ago
num
的值是多少?const num = parseInt("7*6", 10);
#### 答案:7 如果被解析参数的第一个字符无法被转化成数值类型,则返回 NaN。 如果被解析参数是数字+非数字字符,则只取前面的可以被转为数值的部分进行转换。
(() => {
let x = (y = 10);
})();
console.log(typeof x);
console.log(typeof y);
#### 答案:"undefined", "number" `let x = y = 10` 实际上是以下的缩写: ```js y = 10; let x = y; ``` 当对 `y` 赋值时,实际上是赋值到了 `window.y`,所以 `window.y` 的值为 10,`typeof y` 为 `'number'`。 但是使用 `let` 对 `x` 声明时,由于块作用域的影响,在 IIFE 函数外面是无法访问到 `x` 的,所以 `typeof x` 为 `'undefined'`。
// counter.js
let counter = 10;
export default counter;
// index.js
import myCounter from "./counter";
myCounter += 1;
console.log(myCounter);
#### 答案:Error 一个被引入的模块是只读的,不能去修改引入的模块。
delete
操作符返回一个布尔值,删除成功返回 true
,反之返回 false
。
但是,使用 var
,const
,let
关键字定义的变量不能使用 delete
删除。
let num = 10;
const increaseNumber = () => num++;
const increasePassedNumber = number => number++;
const num1 = increaseNumber();
const num2 = increasePassedNumber(num1);
console.log(num1);
console.log(num2);
#### 答案:10, 10 `++` 操作符会先返回值,然后再累加。
from https://github.com/lydiahallie/javascript-questions