首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

50道JavaScript详解面试题,你需要了解一下

16、getElementsByTagName是JavaScript函数,getElementsByTagName是一个Web API函数,就像普通JS函数一样可用。...20、创建字符串后,我们可以修改它? 不可以,因为字符串JavaScript中是不可变,指向字符串变量可以分配给另一个字符串。 21、承诺链中嵌套捕获可以捕获承诺链中向上抛出错误?...该函数名称,一个指向该函数范围内变量,并使用arguments.callee。 28、JavaScript是否支持重载? ,JavaScript本身不支持重载,但TypeScript可以。...它不会返回任何内容,并且如果你需要从循环中返回值,则永远不要使用forEach循环。 30、RegExp没有任何属性。那是对,RegExp具有许多属性,例如.flags和.global。...36、我们可以使用eventHandlers剪切和复制来防止用户将内容浏览器复制到剪贴板? 是的,这些事件处理程序是Web API一部分。 37、创建新对象三种可能方法是什么?

3.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

5个技巧让你更好编写 JavaScript(ES6) 中条件语句

2、减少嵌套提前使用 return 语句 让我们扩展前面的示例,再包含另外两个条件: 如果没有提供水果,抛出错误 接受水果 quantity(数量)参数,如果超过 10,则并打印相关信息。...看看上面的代码,我们有: – 1 个 if / else 语句过滤掉无效条件 – 3 层 if 语句嵌套(分别是条件1,2和3) 个人遵循一般规则是 发现无效条件时提前 return。...如果通过反转条件并提前 return ,我们可以进一步减少嵌套。...if/else 代码风格讨论 3、使用函数默认参数 和 解构 想下面的代码可能看起来很熟悉,我们使用 JavaScript 时总是需要检查 null / undefined 值并分配默认值:...注:如果你还不了解 ES6 中函数默认参数新特性,可以查看 JavaScript 函数中默认参数 了解更多详情。 如果我们 fruit 是一个 Object 对象怎么办?我们可以指定默认参数

1.2K20

了解 JS 作用域与作用域链

JS使用是词法作用域(lexical scope) 不在任何函数内声明变量(函数内省略var也算全局)称作全局变量(global scope) 函数内声明变量具有函数作用域(function...,所以可以访问到name="one" 当然了,js里边还使用到了高阶函数,其实可以理解成嵌套函数 function test1(){ var name = "one"; return function...JS声明提前 js函数作用域是指在函数内声明所有变量函数体内始终是可见。...并且,变量声明之前就可以使用了,这种情况就叫做声明提前(hoisting) tip:声明提前js引擎预编译时就进行了,代码被执行之前已经有声明提前现象产生了 比如 var name="one"...包含嵌套函数体内,作用域链上有两个对象,第一个是定义函数参数和局部变量对象,第二个是全局对象。 一个嵌套函数体内,作用域上至少有三个对象。 3.

2K10

Kotlin开发中一些Tips

run { text = "Kotlin" textSize = 14f } 相比较来说使用run显得比较简洁,但let优势在于可以将it重命名,提高代码可读性,也可以避免作用域函数嵌套时导致混淆上下文对象情况...总的来说,这几种函数有许多重叠部分,因此可以根据开发中具体情况来使用。以上仅做参考。 Sequence 我们经常会使用到kotlin集合操作符,比如 map 和 filter 等。...只能说kotlin借助语言简洁优势,让操作线程变更加简单。 之所以上面说JVM,是因为kotlin还有js和native平台。对于它们来说,或许可以实现真正协程。...比如我们开发中调用一些方法时,要注意看一下源码中是否有指定异常抛出,然后做相应处理,避免不必要崩溃。...checkParameterIsNotNull并不会有性能问题,相反这种提前判断参数是否正确,可以避免程序向后执行导致不必要资源消耗。

52720

作用域是什么?

还是会不断想起那些关于你瞬间 ---- 最近生活是黑白,没有什么前言。宝宝们,生活多彩? 最近文章被尧尧吐槽有些水,因为我家两个猫不让敲键盘。这个理由能勉强接受? ?...1.1 编译原理 ---- nuxt.js应用一个完成服务器请求到渲染流程 传统编译语言流程中,程序中一段源代码执行之前会经历以下三个步骤,统称为“编译”: 分词/词法分析 将字符组成字符串分解成有意义代码块...代码生成 将AST转换成可执行代码过程叫做代码生成。这个过程与语言、目标平台等息息相关。 对于JS来说,大部分情况下编译发生在代码执行前几微秒(甚至更短)时间内。...,确定当前执行代码对这些标识符访问权限 1.3 作用域嵌套 ---- 当一个块或者函数嵌套在另一个块或函数中时,就发生了作用域嵌套。...1.4 作用域嵌套 ---- 当一个块或者函数嵌套在另一个块或函数中时,就发生了作用域嵌套

1.3K20

明明有了 promise ,为啥还需要 async await ?

在这之前编写异步代码使用是回调函数和promise。 async/await实际是建立promise之上。因此你不能把它和回调函数搭配使用。...await关键字只能在使用async定义函数内部使用。所有async函数都会返回一个promise,该promise最终resolve值就是你函数中return内容。...在下面这段使用promise代码中,try/catch不能捕获JSON.parse抛出异常,因为该操作是promise中进行。...一不小心你就会迷失在这些嵌套(6层),空格,返回语句中。(当然我们一般用请求数据返回值作为判断条件不会写成这样,也许这个小白会...)...:8:13) }) promise串返回异常堆栈中没有包含关于异常是哪一个环节抛出信息。

1.1K30

明明有了 promise ,为啥还需要 async await ?

在这之前编写异步代码使用是回调函数和promise。 async/await实际是建立promise之上。因此你不能把它和回调函数搭配使用。...await关键字只能在使用async定义函数内部使用。所有async函数都会返回一个promise,该promise最终resolve值就是你函数中return内容。...在下面这段使用promise代码中,try/catch不能捕获JSON.parse抛出异常,因为该操作是promise中进行。...一不小心你就会迷失在这些嵌套(6层),空格,返回语句中。(当然我们一般用请求数据返回值作为判断条件不会写成这样,也许这个小白会...)...:8:13) }) promise串返回异常堆栈中没有包含关于异常是哪一个环节抛出信息。

73620

萌妹子Python入门指北(四)

在上一篇文章中我们讲到了选择和循环,这次来讲下选择和循环语句更高级用法。提前剧透下,本次课程没有新内容,只是对上篇文章回顾和进阶,选择和循环语句嵌套使用。   ...首先我们来举个例子说明循环语句是如何嵌套判断语句这里抛出一个简单问题————输入1-9里面所有能被3整除数!如果你程序写对了,很明显只会在屏幕上输出 3 6 9这3个数字。...格式化输出,暂时决定讲这个内容,有兴趣可以自己了解下。...print ""   告诉大家一个不幸消息,本篇文章内容到这里就结束了,最后再抛几个问题给大家思考下。   1.if可以嵌套for可以嵌套while循环?   2.难道只能嵌套两层?...3层 4层 5层可不可以?   一般文章在这个时候会告诉大家『这里就不公布答案了,大家可以去尝试下』,然而我这里偏要告诉大家答案很明显都是yes yes,你试试就和我无关了。

43510

Kotlin开发中一些Tips

run { text = "Kotlin" textSize = 14f } 相比较来说使用run显得比较简洁,但let优势在于可以将it重命名,提高代码可读性,也可以避免作用域函数嵌套时导致混淆上下文对象情况...总的来说,这几种函数有许多重叠部分,因此可以根据开发中具体情况来使用。以上仅做参考。 Sequence 我们经常会使用到kotlin集合操作符,比如 map 和 filter 等。...只能说kotlin借助语言简洁优势,让操作线程变更加简单。 之所以上面说JVM,是因为kotlin还有js和native平台。对于它们来说,或许可以实现真正协程。...比如我们开发中调用一些方法时,要注意看一下源码中是否有指定异常抛出,然后做相应处理,避免不必要崩溃。...checkParameterIsNotNull并不会有性能问题,相反这种提前判断参数是否正确,可以避免程序向后执行导致不必要资源消耗。

53720

Python 工匠:编写条件分支代码技巧

”指:函数使用 return 或 raise 等语句提前分支内结束函数。...比如, buy_fruit 函数里,当分支条件不满足时,我们直接抛出异常,结束这段这代码分支。这样代码没有嵌套分支,更直接也更易读。 2....事实是,很多情况下使用普通 if/else 语句代码可读性确实更好。盲目追求三元表达式很容易诱惑你写出复杂、可读性差代码。 所以,请记得只用三元表达式处理简单逻辑分支。...条件判断中使用 all() / any() all() 和 any() 两个函数非常适合在条件判断中使用。...do_stuff 中,我们希望只有当 do_the_first_thing() 成功调用后(也就是抛出任何异常),才继续做第二个函数调用。

2.9K111

写了挺久代码,却还被异常支配?

大家好,是小菜,一个渴望互联网行业做到蔡小菜。可柔可刚,点赞则柔,白嫖则刚!死鬼~看完记得给我来个三连哦! ?...我们吐槽中回过神来想一想,自己写代码还没点 x 数,异常、bug 不就是自己精神伴侣,没这点东西支撑,自己平时怎么冠冕堂皇划水呢! ? 是什么导致我们平时遇到异常很多,却记起几个。...我们写代码时候往往会有所纠结,到底该抛出何种结构? 决定使用受检异常或者使用未受检异常时候,我们主要原则应该是 :如果期望调用者能够适当地恢复程序,这种情况下我们就应该使用受检异常。...这相当于,父类方法好好,被你一继承居然出现了异常,而且还可能不知道,这不是背地里砸招牌! finally 使用 对于一些代码,我们希望无论 try 块中异常是否抛出,它们都能够得到执行。...应该在下列情况下使用异常: 恰当级别处理问题。

55110

Python:编写条件分支代码技巧

”指:函数使用 return 或 raise 等语句提前分支内结束函数。...比如, buy_fruit 函数里,当分支条件不满足时,我们直接抛出异常,结束这段这代码分支。这样代码没有嵌套分支,更直接也更易读。 2....[注] 事实是,很多情况下使用普通 if/else 语句代码可读性确实更好。盲目追求三元表达式很容易诱惑你写出复杂、可读性差代码。 所以,请记得只用三元表达式处理简单逻辑分支。...条件判断中使用 all() / any() all() 和 any() 两个函数非常适合在条件判断中使用。...do_stuff 中,我们希望只有当 do_the_first_thing() 成功调用后(也就是抛出任何异常),才继续做第二个函数调用。

87800

JavaScript是如何工作:事件循环和异步编程崛起+ 5种使用 asyncawait 更好地编码方式!

某些情况下,这可能不是主要问题。还有一个更大问题是一旦你浏览器开始处理调用堆栈中太多任务,它可能会在很长一段时间内停止响应。这时,很多浏览器会抛出一个错误,提示是否终止页面: ?...例如,当 JavaScript 程序发出 Ajax 请求服务器获取一些数据时,函数(“回调”)中设置“response”代码,JS引擎告诉宿主环境:"现在要推迟执行,但当完成那个网络请求时,会返回一些数据...Promise.then(…) 实际上可以使用两个函数,第一个函数用于执行成功操作,第二个函数用于处理失败操作: 如果在获取x或y时出现错误,或者添加过程中出现某种失败,sum(…) 返回 Promise...当这个函数返回一个值时,这个值只是一个普通值而已,这个函数内部将自动创建一个承诺,并使用函数返回值进行解析。当这个函数抛出异常时,Promise 将被抛出值拒绝。...使用 async 声明函数可以包含一个 await 符号,await 暂停这个函数执行并等待传递 Promise 解析完成,然后恢复这个函数执行并返回解析后值。

3.1K20

JavaScript小技能:原型链运作机制、Promise链

Promise是一个由异步函数返回可以向我们指示当前操作所处状态对象。基于 Promise API 中,异步函数会启动操作并返回 Promise 对象。...JavaScript 同样支持函数式编程和链式编程。函数可以被保存在变量中,并且像其他对象一样被传递。典型代表:Promise 链 函数式编程:把操作尽量写成一系列嵌套函数或者方法调用。...默认情况下,所有函数原型属性__proto__就是 window.Object.prototype 1.4 对象定义模式 构造器(函数体)中定义属性、 prototype 属性上定义方法。...async function myFunction() { // 这是一个异步函数 //异步函数中,你可以调用一个返回 Promise 函数之前使用 await 关键字。...JSON用于在网站上表示和传输数据 ////通过 XMLHttpRequest 可以刷新页面的情况下请求特定 URL,获取数据。

89320

Python 工匠:编写条件分支代码技巧

”指:函数使用 return 或 raise 等语句提前分支内结束函数。...比如, buy_fruit 函数里,当分支条件不满足时,我们直接抛出异常,结束这段这代码分支。这样代码没有嵌套分支,更直接也更易读。 2....[注] 事实是,很多情况下使用普通 if/else 语句代码可读性确实更好。盲目追求三元表达式很容易诱惑你写出复杂、可读性差代码。 所以,请记得只用三元表达式处理简单逻辑分支。...条件判断中使用 all() / any() all() 和 any() 两个函数非常适合在条件判断中使用。...do_stuff 中,我们希望只有当 do_the_first_thing() 成功调用后(也就是抛出任何异常),才继续做第二个函数调用。

1.1K40

Python 工匠:编写条件分支代码技巧

”指:函数使用 return 或 raise 等语句提前分支内结束函数。...比如, buy_fruit 函数里,当分支条件不满足时,我们直接抛出异常,结束这段这代码分支。这样代码没有嵌套分支,更直接也更易读。 2....[注] 事实是,很多情况下使用普通 if/else 语句代码可读性确实更好。盲目追求三元表达式很容易诱惑你写出复杂、可读性差代码。 所以,请记得只用三元表达式处理简单逻辑分支。...条件判断中使用 all() / any() all() 和 any() 两个函数非常适合在条件判断中使用。...do_stuff 中,我们希望只有当 do_the_first_thing() 成功调用后(也就是抛出任何异常),才继续做第二个函数调用。

54520

4k字介绍 React Router 6.4 超大变化:引入 Data API。你不纯粹了!

这是认知中 React Router 2022年3月开发《联机桌游合集》时,在用 6.2 版本,那时候 v6 跟 v5 v4 相比,API 已经发生了比较大变化,但我认可这些变化。...我们变化就可以看出,它新增了3个相关属性:loaderactionerrorElement2.2 loader 属性loader属性传入一个函数(允许是 async...「该路由对应element」内,可以使用 hook useLoaderData (下文会介绍)来获取这个函数返回值(通常是http请求response)。...loader 返回值React 组件可以嵌套,也可以嵌套,这时可以通过该 hook 获取其它 loader 返回值。...Data API196040548416.05倍28%结论最终,愿意使用 react-router-dom=~6.3.0,即更新到 6.4,永远使用 6.3.x。

5.7K61

JS】1170- 5 个使用 Promise 时常见错误

为了避免这种情况,我们需要解除代码嵌套第一个 then 中返回 getArticle,然后第二个 then 中处理它。...它确保执行过程中抛出所有异常都被获取并转换为被拒绝 Promise。...当我们一个函数声明前使用 async 关键字时,它会返回一个 Promise,我们可以使用 await 关键字来停止代码,直到我们正在等待Promise解决或拒绝。...然而,某些情况下,可能需要一个 async 函数。在这种情况下,也别无选择,只能用try/catch 块来手动管理。...所以现在我们有一个懒惰Promise,只有我们需要时候才会执行。 5、不一定使用 Promise.all() 方法 如果你已经工作多年,应该已经知道在说什么了。

94420
领券