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

金九银十: 50 个JS 必须懂的面试题为你助力

问题6:JS 的优势是什么 以下使用JS的优点: 更少的服务器交互 - 在将页面发送到服务器之前,可以验证用户输入,节省了服务器流量,意味着服务器的负载更少 立即反馈 - 用户不需要等待页面重新加载来查看是否忘记输入某些内容...它允许你从内部函数访问外部函数的作用域。 在JS中,每次创建函数时都会创建闭包。 要使用闭包,只需在另一个函数内定义一个函数并暴露它。 问题16:列出一些内置方法及其返回的值。...静态:在这种情况下,变量只能包含一种类型,就像在Java中声明为string的变量只能包含一组字符,不能包含其他类型。...提示: 请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。 问题 36:JS的原始/对象类型如何在函数中传递?...问题 37:如何在JS中将任意基的字符串转换为整数 parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数,如下

6.6K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    50 个JS 必须懂的面试题为你助力金九银十

    问题6:JS 的优势是什么 以下使用JS的优点: 更少的服务器交互 - 在将页面发送到服务器之前,可以验证用户输入,节省了服务器流量,意味着服务器的负载更少 立即反馈 - 用户不需要等待页面重新加载来查看是否忘记输入某些内容...它允许你从内部函数访问外部函数的作用域。 在JS中,每次创建函数时都会创建闭包。 要使用闭包,只需在另一个函数内定义一个函数并暴露它。 问题16:列出一些内置方法及其返回的值。...静态:在这种情况下,变量只能包含一种类型,就像在Java中声明为string的变量只能包含一组字符,不能包含其他类型。...提示: 请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。 问题 36:JS的原始/对象类型如何在函数中传递?...问题 37:如何在JS中将任意基的字符串转换为整数 parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数,

    4.8K30

    IDEA Web渲染插件开发(二)— 自定义JsDialog

    《IDEA Web渲染插件开发(一)》中,我们了解到了如何编写一款用于显示网页的插件,所需要的核心知识点就是IDEA插件开发和JCEF,在本文中,我们将继续插件的开发,为该插件的JS Dialog显示进行自定义处理...设置suppress_message为true并使该方法返回false来抑制这个消息(抑制消息比立即执行回调更可取,因为它用于检测可能的恶意行为,如onbeforeunload中的垃圾邮件警报消息)。...其中,title在构造函数执行的时候,就通过DialogWrapper.setTitle(string)完成设置;content赋值给AlertDialog的私有变量content,之后调用DialogWrapper.init...这个方法需要我们返回实现javax.swing.Action接口的实例的数组,当然,IDEA插件也有对应的Wrapper:DialogWrapperAction。...,需要调用showAndGet方法获取用户的点击是cancel还是ok的结果,使用callback返回给JS,才能使得JS的confirm调用获得正确的返回。

    83610

    36 个JS 面试题为你助力金九银十(面试必读)

    如果没有这个,在不同的作用域内定义了许多变量,JS很难为变量选择某个值。 5.解释JS中的MUL函数 MUL表示数的简单乘法。...在这种技术中,将一个值作为参数传递给一个函数,而该函数将返回另一个函数,将第二个值传递给该函数,然后重复继续。...(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。 (3)对象没有赋值的属性,该属性的值为undefined。 (4)函数没有返回值时,默认返回undefined。...例如,如果两个对象具有相同的属性和值,则它们严格不相等。 15. 如何在现有函数中添加新属性 只需给现有函数赋值,就可以很容易地在现有函数中添加新属性。...如何在JS中编码和解码 URL encodeURI() 函数用于在JS中对URL进行编码。它将url字符串作为参数并返回编码的字符串。 注意: encodeURI()不会编码类似这样字符: / ?

    7.3K30

    36 个JS 面试题为你助力金九银十(面试必读)

    4.JS的作用域链是什么及其作用 一般情况下,变量取值到创建这个变量的函数的作用域中取值。...如果没有这个,在不同的作用域内定义了许多变量,JS很难为变量选择某个值。 5.解释JS中的MUL函数 MUL表示数的简单乘法。...在这种技术中,将一个值作为参数传递给一个函数,而该函数将返回另一个函数,将第二个值传递给该函数,然后重复继续。...(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。 (3)对象没有赋值的属性,该属性的值为undefined。 (4)函数没有返回值时,默认返回undefined。...例如,如果两个对象具有相同的属性和值,则它们严格不相等。 15. 如何在现有函数中添加新属性 只需给现有函数赋值,就可以很容易地在现有函数中添加新属性。

    6K20

    JSBridge小科普

    常用的三方库如Dsbridge系列(https://github.com/wendux/DSBridge-Android)。那么,你知道JSBridge到底是如何在两端进行通信的吗?.../** * 添加javascriptInterface * 第一个参数:这里需要一个与js映射的java对象 * 第二个参数:该java对象被映射为js对象后在js里面的对象名,在js中要调用该对象的方法就是通过这个来调用...Native调用Web函数 反之,如果Native需要主动调用JS的方法,又该怎么做呢? 很简单,只要 H5 将 JS 方法暴露在 Window 上给 Native 调用即可。...Android 4.4 以前,通过 loadUrl 方法,执行一段 JS 代码来实现(缺点是效率低,无法获得返回结果,且调用的时候会刷新 WebView): /** * js中声明全局函数 */ <...webView.loadUrl("javascript:log('"+text+"')"); } } 4.4 以后,可以使用 evaluateJavascript 方法实现(效率更高,可获取返回值

    2.8K30

    看完这几道 JavaScript 面试题,让你与考官对答如流(下)

    以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用%模运算符的情况下检查一个数字是否是偶数? 59. 如何检查对象中是否存在某个属性? 60. AJAX 是什么?...,可以将一个数组转为用逗号分隔的参数序列。说的通俗易懂点,有点像化骨绵掌,把一个大元素给打散成一个个单独的小元素。...,新创建的对象将立即被丢弃。...如何在不使用%模运算符的情况下检查一个数字是否是偶数? 我们可以对这个问题使用按位&运算符,&对其操作数进行运算,并将其视为二进制值,然后执行与运算。...this 值 将空对象的__proto__指向构造函数的prototype 如果没有使用显式return语句,则返回this 看下面事例: function Person() { this.name

    2K10

    给初学者:JavaScript 的常见注意点

    写立即执行函数时前置 void 立即执行函数(IIFE)在 JS 非常常用,作用就是构造一个函数级的变量作用域。...数值类型的精度 在 JS 里,所有的 number 原始值都是一个双精度浮点数,对应 Java 的 double 类型,对应标准 IEEE754。...类型最大整数 9223372036854775807 (19位) 小几个数量级,所以有时 JS 的 number 类型是不能精确存储 Java 的整数的(当然通常情况下不是问题)。...PS:将日期对象取当天 0 点为 PS2:取当前时间的 Unix 时间戳可以 补:慎用 填充默认值 这反而是 JS 老鸟更容易犯的错误。...给用户传入的对象填充默认值是很常见的行为,他们总是随手就写: 的意思是:如果expr1能转换成true则返回expr1,否则返回expr2 哪些值不能转换为 true 呢?

    1.3K60

    前端入门17-JavaScript进阶之作用域声明正文-作用域

    函数作用域是指在函数体定义的变量,不管有没有在函数体的开头定义,在函数体的任何地方都可以被使用,因为 JavaScript 中的变量有声明提前的行为。...如果临时命名空间内的部分变量需要供外部使用,一可以将这部分变量添加到作为命名空间的全局对象上的属性,二可以利用闭包的特性,返回一个新建的对象,为该对象添加一些接口可访问这部分变量。...但函数只有被调用的时候才会执行,所以,如果我们使用一个立即执行的函数,那这个函数体内部的代码行为就跟正常的 js 文件代码被执行的行为一致了。...或者,通过闭包的特性,作为临时命名空间的立即执行的函数需要有一个返回值,当外部持有这个返回值时,这个函数内的变量就不会被回收。...然后,返回值可以是一个对象,公开一些接口来获取这些需要共享的变量,如: var model = (function () { var num = 1; function a() {

    54020

    web前端开发初学者十问集锦(5)

    "lvlv"); 立即执行函数的返回值: 就像其它任何函数一样,一个立即执行函数也能返回值并且可以复制给其它变量: var result = (function () { return 2...+ 2; }()); 另外一种实现相同的功能的方法是省略包裹函数的括号,因为当你将立即执行函数的返回值赋值给一个变量时它们不是必需的; var result = function () { return...2 + 2; }(); 这种语法是非常简单的,但它可能看起来有点令人误导;如果没有注意到函数结束的括号,一些人可能就会认为result指向一个函数;实际上result指向立即执行函数的返回值,在这种情况下是数字...假如你的页面是稳定的并且在没有JavaScript情况下能正常工作,然后本着逐步加强的想法,你加入了一些代码加强页面某个方面;你可以将这些代码封装进一个立即执行函数中,并且确保页面没有它的情况下也能正常工作...而该值决定了当前操作是否继续。当返回的是true时,将继续操作。当返回是false时,将中断操作。

    89320

    为了面试能通过,我要看完这75道面试题(下)

    以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用%模运算符的情况下检查一个数字是否是偶数? 59. 如何检查对象中是否存在某个属性? 60. AJAX 是什么?...,可以将一个数组转为用逗号分隔的参数序列。说的通俗易懂点,有点像化骨绵掌,把一个大元素给打散成一个个单独的小元素。...,新创建的对象将立即被丢弃。...如何在不使用%模运算符的情况下检查一个数字是否是偶数? 我们可以对这个问题使用按位&运算符,&对其操作数进行运算,并将其视为二进制值,然后执行与运算。...this 值 将空对象的__proto__指向构造函数的prototype 如果没有使用显式return语句,则返回this 看下面事例: function Person() { this.name

    2.4K10

    编写可维护的JavaScript

    ;当函数的返回值期望是对象时,用返回值付出 • 不使用:不要使用null来检测是否传入了某个参数;不要用null来检测一个未初始化的变量 4.undefined:尽量少使用undefined...,将所有的var语句合并为一个语句,每个变量的初始化独占一行,赋值运算应当对齐,没有初始值的变量应当出现在var语句的尾部 B.函数声明 1.函数声明也会被提前,推荐总是先声明JS函数然后使用函数,函数内部的局部函数应当紧接着变量声明之后声明...2.函数声明不应当出现在语句块之内 C.函数调用间隔 1.在函数名和左括号之间没有空格 D.立即调用的函数 1.为了让立即执行的函数能够被一眼看出来,可以将函数用一对圆括号包裹起来 E.严格模式 1....不推荐将严格模式运用到全局作用域中 2.尽可能的在函数内部使用严格模式 F.相等 1.数字和字符串比较字符串会转为数字,布尔值和字符串比较布尔值会转为数字,对象和类型比较会调用valueOf(),如果没有...、重复的值、设置(比如每页的配置项)、任何可能发生变更的值 B.抽离配置数据 1.将配置数据拿到外部,使用一个对象(如var config={})来保存所有配置信息 C.保存配置数据 1.将config

    85810

    微信小程序授权登录

    通过调用服务端提供的接口把code传递给服务端,然后服务端会返回给前端openid和sesstion_key。...语法)将异步接口进行同步处理。...get/post 接口的封装处理 在根目录中创建service文件夹,用于存放与接口相关的代码,在service文件夹创建一个myRequest.js文件并对小程序的get/post请求进行封装处理,代码如下...: //get请求封装(跳页判断) //通过全局函数getApp可以获取全局变量,需要全局的数据可以在根目录下的app.js进行设置 let app=getApp(); const myGet = (url...} }) 授权登录接口封装 这部分封装会用到async/await,将异步接口进行同步处理,不了解的可以参看ES6文档说明,在service文件夹下创建login.js代码如下: const myRequest

    12.2K30

    前端面试题---JS部分

    函数没有写返回值,即没有写return,拿到的是undefined null 代表的含义是空对象。...函数调用的几种方式 1.直接调用 函数名加上括号 () 2.函数表达式 变量名() 函数的长度 函数的length属性,将返回没有指定默认值的参数个数。...(iife)和使用场景 立即执行函数:( function( ){ })( ) 返回值可以为基本数据类型,也能返会任何类型的值。...await语句后的Promise对象变成reject状态时,那么整个async函数会中断,后面的程序不会继续执行 使用场景: 我在项目中:需求:执行第一步,将执行第一步的结果返回给第二步使用。...…) Generator函数返回Iterator对象,因此我们还可以通过for...of进行遍历,原生对象没有遍历接口,通过Generator函数为它加上这个接口,就能使用for...of进行遍历了 promise

    76020

    给初学者:JavaScript 的常见注意点

    写立即执行函数时前置 void 立即执行函数(IIFE)在 JS 非常常用,作用就是构造一个函数级的变量作用域。...原始值都是一个双精度浮点数,对应 Java 的 double 类型,对应标准 IEEE754。...类型最大整数 9223372036854775807 (19位) 小几个数量级,所以有时 JS 的 number 类型是不能精确存储 Java 的整数的(当然通常情况下不是问题)。...这样得到的日期对象是本地时间(采用客户端时区) new Date(dateString) 注意浏览器时区问题以及浏览器兼容性 时常有后端接口返回一个日期字符串的情况: new Date('2018-01...如果用户指定了传入参数的值为 0 或者是空字符串的配置项,它的值就会被强制替换为默认值,然而实际上只有 undefined 应该被认为是用户没有指定其值(语义上可以这样理解: null表示 用户让你给他把这个位置空着

    1.5K50

    ajax 跨域,这应该是最全的解决方案了

    : 后端允许options请求 第二种现象 ,并且 这种现象和第一种有区别,这种情况下,后台方法允许OPTIONS请求,但是一些配置文件中(如 ),阻止了OPTIONS请求,才会导致这个现象 解决方案...src的,这样,当脚本标签构建出来时,最终的src是接口返回的内容 服务端对应的接口在返回参数外面添加函数包裹层 由于 元素请求的脚本,直接作为代码运行。...这时,只要浏览器定义了foo函数,该函数就会立即调用。作为参数的JSON数据被视为JavaScript对象,而不是字符串,因此避免了使用JSON.parse的步骤。...注意:一般的JSONP接口和普通接口返回数据是有区别的,所以接口如果要做JSONO兼容,需要进行判断是否有对应callback关键字参数,如果有则是JSONP请求,返回JSONP数据,否则返回普通数据。...与前面的方法不同,前面CORS是后端解决,而这个主要是前端对接口进行代理,也就是: 前端ajax请求的是本地接口 本地接口接收到请求后向实际的接口请求数据,然后再将信息返回给前端 一般用node.js即可代理

    1.3K50

    Android中Java和JavaScript交互

    本文将介绍如何实现Java代码和Javascript代码的相互调用。 如何实现 实现Java和js交互十分便捷。通常只需要以下几步。...调用JS webView调用js的基本格式为webView.loadUrl(“javascript:methodName(parameterValues)”) 调用js无参无返回值函数 String call...= "javascript:sayHello()"; webView.loadUrl(call); 调用js有参无返回值函数 注意对于字符串作为参数值需要进行转义双引号。...String call = "javascript:alertMessage(\"" + "content" + "\")"; webView.loadUrl(call); 调用js有参数有返回值的函数...Android在4.4之前并没有提供直接调用js函数并获取值的方法,所以在此之前,常用的思路是 java调用js方法,js方法执行完毕,再次调用java代码将值返回。

    1.5K60

    Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

    首先,JavaScript 从未设计用于构建大型应用程序,它最初的目的是为网页提供小型脚本功能。 直到现在,它还没有提供用于构建大型项目的工具和结构,例如类、模块和接口。...代码都是有效的 TypeScript 代码,将 .js 文件重命名为 .ts 不会改变任何内容 TypeScript 添加了可选的静态类型和语言特性,例如类和模块 TypeScript 纯粹是一个编译时工具...void 表示变量没有类型,它充当与任何相反的类型,它在不返回值的函数中特别有用 如果变量是 void 类型,则只能将 null 或 undefined 值分配给该变量。...函数是执行特定代码的代码块 函数可以有选择地接受一个或多个参数,处理它们,并有选择地返回一个值。 image.png 8、如何在 TypeScript 中创建对象 ?...TypeScript 不支持静态类,这与流行的 C# 和 Java 等面向对象的编程语言不同。 这些语言需要静态类,因为所有代码,即数据和函数,都需要在一个类中并且不能独立存在。

    11.5K10

    从λ演算到函数式编程聊闭包(1):闭包概念在JavaPHPJS中形式

    简单来说lambda演算将计算过程看过一系列的函数代换,例如,下面是加运算的lambda函数(假设+运算已经定义):λx.λx+y lambda演算就是反复将函数应用于实际值,并用实际值代替参数,最终得出结果...(f x) (lambda (y) (+ x y))) 这里定义了函数f,接受一个参数x,特别要注意它的返回值:不是一个值而是一个匿名函数。...,如果是这样的话,((f 7) 2) 是无法得出结果的,因为在外层的f运算结束后,存放数值“7”的变量就被释放了,所以匿名函数无法得到其自由变量x的值; 第二,如果一个函数返回另一个函数,而被返回函数又需要外层函数的变量时...,不会立即释放这个变量,而是允许被返回的函数引用这些变量。...隐藏具体实现是内部类的作用之一,如何保证隐藏具体实现的同时还能将闭包传递到外部使用? 让内部类实现通用接口,然后将内部类对象向上转型为接口类型。

    86410
    领券