js问答 2020-2-22
-
在 JavaScript 中,有多少种不同类型的循环?两种。for 循环和 while 循环。
-
如何把 7.25 四舍五入为最接近的整数? Math.round(7.25)
-
使用"use strict"。这能确保当你声明变量时必须赋值。
-
事件传播的三个阶段是什么?
1 捕获 -> 目标 -> 冒泡
在捕获(capturing)阶段中,事件从祖先元素向下传播到目标元素。当事件达到目标(target)元素后,冒泡(bubbling)才开始。
2 它从嵌套最深的元素向外传播。
3 导致事件的最深嵌套的元素是事件的 target。你可以通过 event.stopPropagation 来停止冒泡。
-
关闭 tab 标签页 后,sessionStorage 存储的数据才会删除。
-
json中key发生重复,会输出什么?
const obj = { a: 'one', b: 'two', a: 'three' }
console.log(obj)//输出:{ a: "three", b: "two" }
-
只有7种内置类型:
null,undefined,boolean,number,string,object和symbol。 function 不是一种类型,函数是对象,它的类型是object。 -
JavaScript 中的一切都是: 基本类型(数据类型?)与对象。基本类型包括 boolean, null, undefined, bigint, number, string, symbol。
-
[...'Lydia']输出: [“L”, “y”, “d”, “i”, “a”]。扩展运算符(三个点...),用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中
string 类型是可迭代的。扩展运算符将迭代的每个字符映射成一个元素。 -
parseInt("7*6"),返回值7。该函数检查字符串中的字符是否合法. 一旦遇到一个在指定进制中不合法的字符后,立即停止解析并且忽略后面所有的字符。 -
通过throw语句,我么可以创建自定义异常。
function greeting() {
throw "Hello world!";//异常可以是字符串/数字/布尔类型/对象
}
function sayHi() {
try {
const data = greeting();
console.log("It worked!", data);
} catch (e) {
console.log("Oh no an error:", e);
}
}
sayHi();
- ==Set对象是值的集合,其内值不会重复,添加时有重复,其中一个就被移除。==集合内可以放任意类型数据。
const set = new Set([1, 1, 2, 3, 4]);
console.log(set);//输出:{1, 2, 3, 4}
set.add(1)
set.add("Lydia")
set.add({ name: "Lydia" })
-
import命令是编译阶段执行的,在代码运行之前。因此这意味着被导入的模块会先运行,而导入模块的文件会后执行。
这是CommonJS中require()和import之间的区别。使用require(),您可以在运行代码时根据需要加载依赖项。 如果我们使用require而不是import,running index.js,running sum.js,3会被依次打印。 -
for-in和for-of区别:输出:
A: 0 1 2 3 ☕ 💻 🍷 🍫
const myLifeSummedUp = ["☕", "💻", "🍷", "🍫"]
for (let item in myLifeSummedUp) {
console.log(item)
}
for (let item of myLifeSummedUp) {
console.log(item)
}
const和let声明的变量是具有块级作用域的,块是大括号({})之间的任何东西。
function getName(name) {
const hasName =!!name;
console.log(hasName);//返回:true
//new Boolean(true)返回一个对象包装器,而不是布尔值本身。
}
-
在Js中,不必显式地编写分号(😉,没写js引擎会在语句之后自动添加分号。这称为自动分号插入。
-
当值不是预期类型时,会抛出TypeErrors(类型错误)。当无法找到您尝试访问的值引用时,抛出ReferenceErrors(引用错误)。SyntaxError(语法错误)
-
使用||运算符,我们可以返回第一个真值。 如果所有值都是假值,则返回最后一个。可用
new Boolean([])方式查看true还是false。
const one = (false || {} || null)//返回:{}
const two = (null || false || "")//返回:""
- 哪些方法修改了原数组? D.使用splice方法,我们通过删除,替换或添加元素来修改原始数组。 在这种情况下,我们从索引1中删除了2个元素(我们删除了’🥑’和’😍’),同时添加了✨emoji表情。
map,filter和slice返回一个新数组,find返回一个元素,而reduce返回一个减小的值。
const emojis = ['✨', '🥑', '😍']
emojis.map(x => x + '✨')
emojis.filter(x => x !== '🥑')
emojis.find(x => x !== '🥑')
emojis.reduce((acc, cur) => acc + '✨')
emojis.slice(1, 2, '✨')
emojis.splice(1, 2, '✨')
- 通过展开操作符
...,可以 暂开 单个可迭代的元素。
function sumValues(x, y, z) {
return x + y + z;
}
umValues(...[1, 2, 3]);//返回 6
本文深入探讨JavaScript的基础知识,涵盖循环类型、数据类型、事件传播、异常处理、Set对象特性及数组方法等关键主题,旨在帮助读者巩固JavaScript编程技能。
48

被折叠的 条评论
为什么被折叠?



