让人蛋疼的JavaScript语法特性

在知乎上看到的有人发布的和javascript有关的试题,和大家分享下,虽然是N久前的事了,但这些题相当经典,不免让人觉得javascript真是门蛋疼的语言。

1.

代码如下:

(function () {
        return typeof arguments;
    })();

A. "object"
    B. "array"
    C. "arguments"
    D. "undefined"

答案:A

2.

代码如下:

var f = function g() {
                return 23;
            };
        typeof g();

A. "number"
        B. "undefined"
        C. "function"
        D. Eorror

答案:D

3.

代码如下:

(function (x) {
            delete x;
            return x;
        })(1);

A. 1
        B. null
        C. undefined
        D. Error

答案:A

4.

代码如下:

var y = 1,
        x = y = typeof x;
        x;

A. 1
        B. "number"
        C. undefined
        D. "undefined"

答案:D

5.

代码如下:

(function f(f) {
            return typeof f();
        })(function () {
            return 1;
        });

A. "number"
        B. "undefined"
        C. "function"
        D. Error

答案:A

6.

代码如下:

var foo = {
            bar: function () {
                return this.baz;
            },
            baz: 1
        };
        (function () {
            return typeof arguments[0]();
        })(foo.bar);

A. "undefined"
        B. "object"
        C. "number"
        D. "function"

答案:A

7.

代码如下:

var foo = {
            bar: function () {
                return this.baz;
            },
            baz: 1
        };
        typeof (f = foo.bar)();

A. "undefined"
        B. "object"
        C. "number"
        D. "function"

答案:A

8.

代码如下:

var f = (function f() {
            return "1";
        }, function g() {
            return 2;
        })();
        typeof f;

A. "string"
        B. "number"
        C. "function"
        D. "undefined"

答案:B

9.

代码如下:

var x = 1;
 if (function f() {}) {
 x += typeof f;
 }
 x;

A. 1
 B. "1function"
 C. "1undefined"
 D. NaN

答案:C

10.

代码如下:

var x = [typeof x, typeof y][1];
        typeof typeof x;

A. "number"
        B. "string"
        C. "undefined"
        D. "object"

答案:B

11.

代码如下:

(function (foo) {
            return typeof foo.bar;
        })({
            foo: {
                bar: 1
            }
        });

A、“undefined”
        B、“object”
        C、“number”
        D、Error

答案:A

12.

代码如下:

(function f() {
            function f() {
                return 1;
            }
            return f();
            function f() {
                return 2;
            }
        })();

A、1
        B、2
        C、Error (e.g. “Too much recursion”)
        D、undefined

答案:B

13.

代码如下:

function f() {
        return f;
    }
    new f() instanceof f;

A、true
    B、false

答案:B

14.

代码如下:

with (function(x, undefined){}) length;

A、1
        B、2
        C、undefined
        D、Error

答案:B

15.

代码如下:

以下哪条语句会产生运行错误:()         
A.var obj = ();          
B.var obj = [];       
C.var obj = {};       
D.var obj = //;

答案:A

(0)

相关推荐

  • javascript基本语法分析说明

    在phpchina学PCTI前几天教了css与javascript先给大家看看 javascript的标识符 标识符是指javascript中定义的符号 比如变量名,函数名,数组名等等. 标识符可以由任意顺序的大小写字母,数字,下划线和美元符号组成,标识符不能以数字开头,也是不能使用javascript中的保留关键字. javasceipt严格区分大小写,每条功能执行后以分号结束,每个词之间用空格.制表符.换行符或大括号.小括号这样的分隔符隔开. ~~~~~~~~以上部分虽然有些唠叨,但是是需要

  • 9个javascript语法高亮插件 推荐

    下面介绍的是一些纯javascript实现的语法高亮插件. 英文原文:http://www.webdesignbooth.com/9-useful-javascript-syntax-highlighting-scripts/ 1. SyntaxHighlighter我相信这个插件是我们使用多的,它支持超多的语言,如果遇到不支持的语法还支持自定义. 2. SHJSSHJS 是js语法高亮插件的代表,它支持很多编程语言,兼容Firefox 2 &3, IE 6 & 7, Opera 9.6,

  • 教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    相信大家都试过在一个 View 里嵌套使用 javascript,这时就可以直接使用 Razor 语法以调用 .NET 的一些方法.如以下代码嵌套在一个 Razor 的 View 里: <script> var currDate = '@DateTime.Now'; //直接调用.NET的方法 console.log(currDate) </script> 但另一种情况是,如果我想在一个独立的 JS 文件里使用 Razor,那以上的方法可行不通,因为MVC不会直接解释JS文件,只有

  • javascript编程必备_JS语法字典第1/2页

    1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大

  • javascript中基于replace函数的正则表达式语法

    示例代码如下: var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace("a","A")); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 它只替换了首字母.但如果加上正则表达式结果就不一样了!replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换! 注意:被替换的部分不用加双引号

  • Javascript基础教程之JavaScript语法

    1.区分大小写 javascript中,变量.函数.运算符都区分大小写. 2.弱类型变量 定义变量只用 "var"关键字 复制代码 代码如下: var age = 25; var myscholl = "sanxiao"; var mal = true; 3.每行结尾的分号可有可无. 4.括号用于代码块. 代码示例 复制代码 代码如下: <!DOCTYPE html>  <html>  <head lang="en"

  • javascript 语法基础 想学习js的朋友可以看看

    1:javascript区分大小写 2:javascript每一条语句必须以";"结束,与C语言一样 3:输出:document.write("字符串")--->还可以输出对应的html标记 4:改变窗体的颜色document.bgColor="red"; 4:类型转换:parseInt,parseFloat 5:随机函数:parseInt(Math.random()*90+10) 产生10--100的随机数 5:弹出对话框:alert(&

  • 正则表达式语法规则及在Javascript和C#中的使用方法

    一.正则表达式概念: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作. 二.正则表达式的使用: 正则表达式在ASP.NET中主要是用来对输入的内容进行验证,验证一般分为两种一种是客户端JS验证,另一种是服务器端验证 1.JS对输入内容验证 复制代码 代码如下: function check() {           

  • JavaScript学习笔记(一) js基本语法

    1.标识符与关键字 标识符以字母开头,可以包含字母.数字.下划线.标识符不能使用以下保留字符: 复制代码 代码如下: abstract, boolean, break,byte,case,catch,char,class,const,debugger,default,delete,do,double,else,enum,export,extends,false,final,finally,float,for,function,goto,if,implements,import,in,instan

  • 让人蛋疼的JavaScript语法特性

    在知乎上看到的有人发布的和javascript有关的试题,和大家分享下,虽然是N久前的事了,但这些题相当经典,不免让人觉得javascript真是门蛋疼的语言. 1. 复制代码 代码如下: (function () {         return typeof arguments;     })(); A. "object"     B. "array"     C. "arguments"     D. "undefined&quo

  • JavaScript语法约定和程序调试原理解析

    JavaScript 语法约定 1.大小写的区分 1). JavaScript的关键字,永远都是小写的: 2). 内置对象,如Math和Date是以大写字母开头的: 3). 对象的名称通常是小写:若是多个单词,驼峰(Camel)命名法. 驼峰(Camel)命名法:开头单词小写,后面单词首字母大写.使用的很普遍,很多人习惯这种命名方法.示例:userName. 2.变量.对象和函数的名称命名 当声明变量.对象和函数的名称时大小写,数字,下划线,美元符号都可以,但是必须以字母,下划线,美元符号开头.

  • JavaScript语法着色引擎(demo及打包文件下载)

    应 得意小蛇 的建议,我整理了一下去年写的JavaScript语法着色引擎,并提供下载,喜欢的尽管拿去,嘿嘿 总的来说是很简单的东西,只是提供了关键字的着色以及一些基本的语法(例如注释,字符串,正则等等),从demo中应该很容易看到其用法,这里简单介绍下: 类名:Lighter 通过new Lighter()可以得到一个着色引擎实例,假设为lighter,有以下属性和方法: 语言属性:lighter.language 这个属性的范围是可以根据语法文件的数量自己添加的,提供的demo中有'cpp'

  • 《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法

    注释         单行注释:// 多行注释:/* */ "<!--"可以用作单行注释,由于和HTML的"<!--  -->"多行注释类似,容易混淆,所以不建议这种注释方法 变量        在JavaScript 语言里,变量和其他语法元素的名字都是区分字母大小写的.名字mood的变量与名字是Mood.MOOD或mOOd的变量没有任何关系,它们不是同一个变量. JavaScript 语法不允许变量名中包含空格或标点符号("$&quo

  • Kotlin学习第一步 kotlin语法特性

    今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language),作为Android开发者,当然要逐步熟悉这门语言,第一步就要从语法开始学习. 在这之前,我们需要了解怎么使用Kotlin编写一个Android应用.对于Android Studio 3.0版本,我们在创建工程的时候直接勾选 Include Kotlin support 选项就可以了:对于3.0以前的版本,我们需要安装

  • IE和Firefox之间在JavaScript语法上的差异

    尽管 JavaScript 历史上使用冗长而令人生厌的代码块来标的特定浏览器的时期已经结束了,但是偶尔使用一些简单的代码块和对象检测来确保一些代码在用户机器上正常工作依然是必要的. 这篇文章中,我会略述一下 Internet Explorer 和 Firefox 在 JavaScript 语法上不同的 7 个方面. 1. CSS "float" 属性 获取给定对象的特定 CSS 属性的基本语法是 object.style 属性,而且有连字符的属性要用骆驼命名法来代替.例如,获取一个 I

  • javascript 语法学习练习

    javascript语法学习 function f(){ var str='1,2,3,4'; var str1='1,4,5,6'; str = ',' + str + ','; for(var i=0;i [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】 原创

    本文实例讲述了JavaScript语法高亮库highlight.js用法.分享给大家供大家参考,具体如下: highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库可以用在博客系统中,其使用方法及其简单,几乎不需要任何学习成本,下面介绍highlight.js的使用. 1.获取highlight.js库,用户可以从官网获取: 地址:https://hig

  • JavaScript数组特性与实践应用深入详解

    本文实例讲述了JavaScript数组特性与实践应用.分享给大家供大家参考,具体如下: JavaScript 提供了一种类似数组特性的对象,它把数组的下标变为字符串,作为对象的属性.虽然它比一个真正的数组来的慢,但是使用起来很方便. 1 数组字面量 数组字面量是在一对方括号中包围零个或多个用逗号分隔的值的表达式: var empty = []; var numbers = [ 'zero', 'one', 'two', 'three' ]; console.log(empty[1]);//und

  • 5个实用的JavaScript新特性

    目录 前言 1.# 使用"Object.hasOwn"替代“in”操作符 2.# 使用"#"声明私有属性 3.# 超有用的"数字分隔符" 4.# 使用"?."简化"&&"和三元运算符 5.# 使用"BigInt"支持大数计算 最后 前言 JavaScript在不断地升级迭代,越来越多的新特性让我们的代码写起来变得简洁有趣,这篇文章会介绍5个新特性,一起研究一下把. 1.#

随机推荐