27
2020
07
下面两个函数的返回值是一样的吗?为什么?
function foo1(){ return { bar: "hello" };}function foo2(){ return { bar: "hello" };}在编程语言中,基本都是使用分号(;)将语句分隔开,这可以增加代码的可读性和整洁性。而在JS中,如若语句各占独立一行,通常可以省略语句间的分号(;),JS
作者:ghjk | 分类:javascript面试题 | 浏览:210 | 评论:0
27
2020
07
在严格模式('use strict')下进行 JavaScript 开发有神马好处?
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;消除代码运行的一些不安全之处,保证代码运行的安全;提高编译器效率,增加运行速度;为未来新版本的Javascript做好铺垫。
作者:ghjk | 分类:javascript面试题 | 浏览:216 | 评论:0
27
2020
07
将 JavaScript 代码包含在一个函数块中有神马意思呢?为什么要这么做?
换句话说,为什么要用立即执行函数表达式(Immediately-Invoked Function Expression)。IIFE 有两个比较经典的使用场景,一是类似于在循环中定时输出数据项,二是类似于 JQuery/Node 的插件和模块开发。for(var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); &n
作者:ghjk | 分类:javascript面试题 | 浏览:215 | 评论:0
27
2020
07
下面的代码会在 console 输出神马?为什么?
var myObject = { foo: "bar", func: function() { var self = this; console.log("outer func: this.foo = " + this.foo); c
作者:ghjk | 分类:javascript面试题 | 浏览:232 | 评论:0
27
2020
07
下面的代码会在 console 输出神马?为什么?
(function(){ var a = b = 3;})();console.log("a defined? " + (typeof a !== 'undefined')); console.log("b defined? " + (typeof b !== 'undefined'));这跟变量作用域有关,输出换成下面的:console.log(b); //3console,log(ty
作者:ghjk | 分类:javascript面试题 | 浏览:207 | 评论:0
27
2020
07
使用 typeof bar === "object" 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊端?
使用 typeof 的弊端是显而易见的(这种弊端同使用 instanceof):let obj = {};let arr = [];console.log(typeof obj === 'object'); //trueconsole.log(typeof arr === 'object'); //trueconsole.log(typeof null === 'object'); //true从上面的输出结果可
作者:ghjk | 分类:javascript面试题 | 浏览:236 | 评论:0
22
2020
05
什么是事件冒泡?
当事件发生在DOM元素上时,该事件并不完全发生在那个元素上。在冒泡阶段,事件冒泡,或者事件发生在它的父代,祖父母,祖父母的父代,直到到达window为止。假设有如下的 HTML 结构:<div class="grandparent"> <div class="parent"> <div class="child">1</div> </
作者:ghjk | 分类:javascript面试题 | 浏览:272 | 评论:0
22
2020
05
什么是事件传播?
当事件发生在DOM元素上时,该事件并不完全发生在那个元素上。在“冒泡阶段”中,事件冒泡或向上传播至父级,祖父母,祖父母或父级,直到到达window为止;而在“捕获阶段”中,事件从window开始向下触发元素 事件或event.target。事件传播有三个阶段:捕获阶段–事件从 window 开始,然后向下到每个元素,直到到达目标元素。目标阶段–事件已达到目标元素。冒泡阶段–事件从目标元素冒泡,然后上升到每个元素,直到到达 window。
作者:ghjk | 分类:javascript面试题 | 浏览:256 | 评论:0
22
2020
05
DOM 是什么?
DOM 代表文档对象模型,是 HTML 和 XML 文档的接口(API)。当浏览器第一次读取(解析)HTML文档时,它会创建一个大对象,一个基于 HTM L文档的非常大的对象,这就是DOM。它是一个从 HTML 文档中建模的树状结构。DOM 用于交互和修改DOM结构或特定元素或节点。假设我们有这样的 HTML 结构:<!DOCTYPE html><html lang="en"><head> <meta char
作者:ghjk | 分类:javascript面试题 | 浏览:272 | 评论:0
22
2020
05
使用 + 或一元加运算符是将字符串转换为数字的最快方法吗?
根据MDN文档,+是将字符串转换为数字的最快方法,因为如果值已经是数字,它不会执行任何操作。
作者:ghjk | 分类:javascript面试题 | 浏览:304 | 评论:0