前端Js面试基础

本文主要探讨前端JS面试中的重要知识点,包括使用typeof获取的类型、===和==的区别、内置函数、变量存储类型、JSON理解、原型链概念、数组类型判断、构造函数过程、异步与单线程等。内容涵盖了JS基础、数据类型、对象操作、事件处理、AJAX等多个方面,是准备前端面试的重要参考资料。
摘要由CSDN通过智能技术生成

演示代码下载(gitee):

https://gitee.com/zhaodave/jsdemo.git

2.1Js中使用typeof能得到的哪些类型?

undefined;对未经声明的变量或声明后未赋值的变量会返回undefined

boolean;true

string;abc

number;123

object;检测null值(因为表示空对象指针),对象,数组会返回object

function;

变量计算-强制类型转换

字符串拼接

Var b = 100 + 10

==运算符

100 == 100;0==’’;null==undefined

If语句

If中是false的情况除undefined和false本身:

if(0){}
if(NaN){}
if(''){}
if(null){}

 

逻辑运算(与或非)

 

2.2何时使用===和==?

三等没有类型转换;

比较过程:

 

  双等号==:

  (1)如果两个值类型相同,再进行三个等号(===)的比较

  (2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:

                   1)如果一个是null,一个是undefined,那么相等

                   2)如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较

  三等号===:

  (1)如果类型不同,就一定不相等

  (2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,          只能使用isNaN( ) 来判断)

  (3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。

  (4)如果两个值都是true,或是false,那么相等

  (5)如果两个值都引用同一个对象或是函数,那么相等,否则不相等

  (6)如果两个值都是null,或是undefined,那么相等

2.3js中有哪些内置函数?

Object类型:

为新对象定义了默认的属性和方法

方式:

var person = new Object() ;
var person = {
name: "dave",
sex: "girl"
}
var person = {}

Array类型:

concat 返回一个由两个数组合并组成的新数组。

join  返回一个由数组中的所有元素连接在一起的 String 对象。

pop  删除数组中的最后一个元素并返回该值。

push 向数组中添加新元素,返回数组的新长度。

shift 删除数组中的第一个元素并返回该值。

unshift 返回一个数组,在该数组头部插入了指定的元素。

sort  返回一个元素被排序了的 Array 对象

reverse  返回一个元素反序的 Array 对象。

slice 返回数组的一个片段。

splice 从数组中删除元素。

Date类型:

getYear() 返回年份(2位或4位)

getFullYear() 返回年份(4位)

getMonth() 返回月份  0-11

getDate()     返回日期 1-31

getDay() 返回星期数 0-6

getHours() 返回小时数 0-23

getMinutes() 返回分钟数 0-59

getSeconds() 返回秒数 0-59

getMilliseconds() 返回亳秒数0-999

基本包装类型:Boolean,Number,String

Boolean

Number

String:

length属性:长度

concat 方法(String)连接两个或更多个字符串。

indexOf(string) 返回出现字符串的位置

substr(num1,[num2])截取字符串

toLowerCase() 转换成小写

toUpperCase() 转换成大写

replace(str1,str2) 字符串替换

单位内置对象:Math,Global

Math:

ceil(数值)   大于或等于该数的最小整数

floor(数值)   小于或等于该数的最大整数

min(数值1,数值2) 返回最小值

max(数值1,数值2) 返回最大值

pow(数值1,数值2) 返回数值1的数值2次方

random()     返回随机数 0---1

round(数值)     四舍五入

sqrt(数值)     开平方根

Regexp类型:

Function类型:

Error类型:

2.4js变量按照存储方式区分为哪些类型,描述其特点?

变量类型和计算:

变量类型:值类型和引用类型;typeof运算符。

 

常用的引用类型:对象、数组、函数。

特点:

(1)值类型:1、占用空间固定,保存在栈中(当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的;栈中存储的是基础变量以及一些对象的引用变量,基础变量的值是存储在栈中,而引用变量存储在栈中的是指向堆中的数组或者对象的地址,这就是为何修改引用类型总会影响到其他指向这个地址的引用变量。)

 2、保存与复制的是值本身

 3、使用typeof检测数据的类型

 4、基本类型数据是值类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值