面试知识点总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了面试知识点总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1305字,纯文字阅读大概需要2分钟。
内容图文
![面试知识点总结](/upload/InfoBanner/zyjiaocheng/1023/befb7228d94b4d12b4dc5bf5f0947352.jpg)
1、变量声明提升
var声明变量时,变量可以先使用再声明,函数声明和变量声明会被解释器提到变量所在作用域的最顶部,仅针对于var不针对let。并且函数优先会被提升
//变量声明提升
a = 3
var a
console.log(a) // 3
a=3
var a = 4
console.log(a) // 4
//函数声明提升
test()
function test(){
var a = 2
console.log(a) // 2
}
//函数变量声明提升
test = function(){
var a = 4
console.log(a)
}
var test
test()
var test = function(){
console.log(1)
}
function test(){
console.log(2)
}
test()
// 输出结果 1
/*
变量提升过程1:变量test的声明提到上边
var test
test = function(){
console.log(1)
}
*/
/*
变量提升过程2:由于函数声明被优先提升,所以函数声明应该提到最顶部,因此代码执行顺序如下:
function test(){
console.log(2)
}
var test
test = function(){
console.log(1)
}
test()
*/
console.log(a);
var a = 100;
function test() {
console.log(a);
var a = 200;
console.log(a);
}
tets();
console.log(a)
// 执行结果:undefined
undefined
200
100
2、this指向问题
- 单独使用,this指向全局对象window
- 函数中使用时,this指向调用者
var a = 1
function fn1(){
var a = 2
console.log(this.a) // 1
}
fn1() //this指向调用者window
var a = 1
function fn1(){
var a = 2
console.log(this.a) // 1,这里this指向fn1的调用者window,即指向全局
}
function fn2(){
var a = 3
fn1()
}
fn2()
var a = 0
let obj = {
a:1,
fn:function(){
let a = 2
console.log(this.a) // 1,这里this指向调用者obj,即obj.a
}
}
obj.fn()
内容总结
以上是互联网集市为您收集整理的面试知识点总结全部内容,希望文章能够帮你解决面试知识点总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。