前端面试笔记

本文深入探讨JavaScript的基础概念,包括作用域链的原理,JS代码的预解析和执行步骤,对象的定义,构造函数的工作方式及注意事项,以及`new`关键字在内存中的操作过程。同时,解释了数组方法如`indexOf`和`concat`的功能,并讨论了JavaScript中的字符串特性和数据类型的区分。最后,简述了事件的组成要素。
摘要由CSDN通过智能技术生成

1.什么是作用域链

        内部函数访问外部函数的变量使用链式查找来决定取决哪个值叫做作用域链(取值就近原则)

2.Js运行步骤

预解析和执行

预解析:js引擎会把var 和 function提升到当前作用域最前面,不提升赋值操作

执行:按照提升后的代码顺序进行执行

var a = 1;
a1();
function a1(){
    console.log(a);
}

//js提升操作

var a;
a = 1;
function a1(){
    console.log(a);
}
a1();

 3.什么是对象

在js中对象是一组无序的相关属性和方法的集合

4.什么是构造函数

 构造函数就是把对象中相同的属性和方法抽象出来封装到函数里面

5.构造函数要点

创建构造函数function Star(){ }名称首字母要大写

在构造函数中创建对象var ldh = new Star() 一定要用new 

 6.New关键字执行过程

New构造函数可以在内存中创建一个空的对象

This指向这个对象

7.indexOf()

检查新数组中是否有相同的元素(不存在则返回-1),用于数组去重

 8.concat

连接数组,不影响原数组

9.字符串是否可变

字符串不可变,字符串重新赋值时是地址指向变了

10.简单数据类型和复杂数据类型

简单数据类型叫做值类型,在存储变量中存储的是值本身,如null,boolean,undefined,number,string,放在栈中

复杂数据类型又叫做引用数据类型,在存储变量中存储的是地址,通过new创建的对象,如:object,array,date,放在堆中

11.事件的组成

事件源、事件类型和事件处理程序

如:按钮被点击弹出对话框,事件源:按钮,事件类型:点击,事件处理程序:弹出对话框

12.

13. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值