一、JavaScript的所有数据类型
基础数据类型:
Number: 表示数字(整数和浮点数);
String:表示文本数据;
Undefined:表示声明的变量未被定义;
Boolean:表示逻辑类型(true,false);
Null:表示空值,故意赋值为空;
Symbol:表示独特值,不可变的值;
BigInt:表示任意进度的整数
引用数据类型:
Object:非原始数据类型,包括数组,函数,普通对象等;
Array:特殊对象,用来存储有序集合;
Function:一种可以调用的对象;
主要差别:
基础数据类型都存储在栈内存中,直接保存值,引用数据类型堆内存中,
栈内存只保存堆中数据的引用。
基础数据类型的赋值或传递时是拷贝,而引用数据类型是引用传递。
二、CSS的盒模型
css盒模型表示了一个网页元素如何在布局中占用空间,由四部分组成:
1.内容区域(Content):元素的实际内容显示区域;
2.内边距(Padding):内容区域与边框之间的空间;
3.边框(Border):包含内容与内边距的边线;
4.外边距(Margin):元素与其他元素的外部空间;
作用:盒模型决定了元素的大小与间距,影响了页面布局;通过盒模型可以精准
控制元素在页面的位置。
三、HTML 中的块级元素和内联元素有什么区别
块级元素(Block-level elements):
每个块级元素会独占一行,块级元素可以包含其他块级元素和内联元素
常见的块级元素有:<div>, <p>, <h1-h6>, <ul>, <ol>, <l1>, <section>, <article>
内联元素(Inline elements):
内联元素不会占用一行,只会占用其内容宽度,内联元素只能包含文本和其他
内联元素。
常见的内联元素有:<span>, <a>, <strong>, <em>, <img>, <input>
区别:
块级元素的特点是从上到下排列,每一次都会换行。
内联元素的特点是不会换行在,只增加宽度。
四、两道算法题
1.实现⼀个函数,将⼀个字符串中的所有单词颠倒顺序。例如:输⼊ "I Love JavaScript",输出 "JavaScript Love I"
function reverseWords(str) { return str.split(' ').reverse().join(' ');}console.log(reverseWords("I Love JavaScript"));
2.给定⼀个整数数组和⼀个⽬标值,请编写⼀个函数,在数组中查找两个数,
使它们的和等于⽬标值,并返回它们的下标。(假设只有⼀组解)
function twoSum(nums, target) { let map = new Map(); for (let i = 0; i < nums.length; i++) { let complement = target - nums[i]; if (map.has(complement)) { return [map.get(complement), i]; } map.set(nums[i], i); } return []; }