Js问答

作者: SentMes | 来源:发表于2019-07-22 21:59 被阅读0次

JavaScript中var、let、const区别?

使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象;

使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升;

使用const声明的是常量,在后面出现的代码中不能再修改该常量的值。

instanceof 与 isPrototypeOf 的区别?

B instanceof A:
A构造函数的prototype对象是否在B的原型链上

A.isPrototypeOf(B):
A对象是否在B的原型链上

Ajax 优缺点

优点:
1.实现了异步交互,提高了用户体验
2.无需重新加载整个页面,是需要与服务器进行少量的数据交换,就能够实现对页面中的某一部分进行更新,从而减少了带宽的占用
3.AJAX是在客户端运行的,它承载了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载,如果这放在后端的话,解决思路就类似ActiveMQ,RocketMQ,消息中间件,去异步的解决大用户量下服务器的压力

缺点:
1.AJAX大量的使用了JavaScript和ajax引擎,这些取决于浏览器的支持,在编写的时候需要考虑对浏览器的兼容性
2.AJAX只是局部刷新,所以页面的后退按钮是没有用的,干掉了Back和History功能,即对浏览器机制的破坏

JavaScript 中的声明提前是什么?

    var scope = "global";

    function f( ){

            console.log(scope);             //输出"undefined",而不是"global"

             var scope = "local";

              console.log(scope);              //输出“local”
     }

这时候 scope 的变量声明就被提前了,所以打印出undefined

相关文章

网友评论

      本文标题:Js问答

      本文链接:https://www.haomeiwen.com/subject/gavglctx.html