JavaScript函数的练习题

JavaScript everyinch 11988℃ 0评论

一、判断题

  • 1.在JavaScript中只允许使用预定义的函数.而不能自定义函数。
  • 2.函数定义可以没有函数体。
  • 3.因为JavaScript函数有返回值,所以必须在定义函数时指明返回值的类型。
  • 4.JavaScript的函数定义允许嵌套.即在函数中可以定义另一个函数。
  • 5.在不同函数定义中.允许定义同名的变量。

二、单选题

  • 1.在JavaScript函数的定义格式中,下面各组成部分中,哪个部分是可以省略的( )
    A. 函数名
    B. 指明函效的一对圆括写()
    C. 函数体
    D. 函数参数
    D
  • 2.如果有函数定义function f(x,y){…},那么以下正确的函数调用是( )
    A. f 1 ,2
    B. f(1)
    C. f(1,2)
    D. f(,2)
    C
  • 3.不属于调用JavaScript函数的方式是( )
    A. 作为函数
    B. 作为对象的方法
    C. 作为数组来间接调用
    D. 作为对象的构造函数
    C
  • 4.在JavaScript中,定义函数时可以使用多少个参数( )
    A. 0
    B. 1
    C. 2
    D. 任意
    D
  • 5.关于构造函数的表述,错误的是( )
    A. 构造函数调用创建一个新的空对象
    B. 对象继承自构造函数的prototype属性
    C. 构造函数初始化这个新创建的对象
    D.将window对象用做其调用上下文
    D
  • 6.在JavaScript中,要定义一个全局变最x,使用的方法是( )
    A. 使用关键字public在函数中定义
    B. 使用关键字public在任何函数之外定义
    C. 使用关链字var在函教中定义
    D. 使用关键宇var在任何函数之外定义
    D
  • 7.在JavaScript中,要定义一个局部变量x,使用的方法是( )
    A. 使用关健字private在函数中定义
    B. 使用关健字private在任何函数之外定义
    C. 使用关健字var在函数中定义
    D. 使用关健字var在任何函数之外定义
    C
  • 8.关于函数参数,表述错误的是( )
    A. 传入的实参可以比函数声明时指定的形参个数少
    B. 标识符arguments是指向形参对象的引用
    C. callee属性指代当前正在执行的函数
    D. caller指代调用当前正在执行的函数的函数
    B
  • 9.关于函数的传递,表述错误的是( )
    A. 可以将函数赋值给变量
    B. 可以将函数存储在对象的属性或数组的元素中
    C. 可以将函数作为参数传入另外一个函数
    D. 如果square是函数,执行var s = square,s指向square的副本
    D
  • 10.arguments.callee.length表示( )
    A. 形式参数的个数
    B. 期望传入的形参个数
    B. 实际传入的实参个数
    D. 期望传入的实参个数
    D
  • 11.关于函数apply的表述,错误的是( )
    A. 可以将apply()看做是某个对象的方法
    B. apply()的第一个实参是要调用函数的母对象,它是调用上下文
    C. apply()方法,它的实参都放入一个数组
    D. apply()方法,第一个调用上下文实参之后的所有实参就是要传入待调用函数的值
    D
  • 12.不能改变函数上下文的方法是( )
    A. bind()
    B. context()
    C. call()
    D. apply()
    B
  • 13.关于Function构造函数,表述错误的是( )
    A. 允许JavaScript在编译时创建函数
    B. 每次调用Function()构造函数都会解析函数体,并创建新的函数对象
    C. Function()构造函数并不是使用词法作用域
    D. Function构造函数用来创建一个新的函数
    A
  • 14.以下哪个选项不是JavaScript的全局函数( )
    A. escape
    B. parseFloat
    C. bind
    D. settimeout
    C

三、综合题

  • 1.输出对象的每个属性的名称和值
    function printprops(o) {
    for(var p in o)
    console.log(p + “: ” + o[p] + “\n”);
    }
    2.计算两个笛卡尔坐标之间的距离
    function distance(x1, y1, x2, y2) {
    var dx = x2 – x1;
    var dy = y2 – y1;
    return Math.sqrt(dx*dx + dy*dy);
    }
    3.计算阶乘的递归函数
    function factorial(x) {
    if (x <= 1) return 1;
    return x * factorial(x-1);
    }
    4.求传入参数的平方
    var square = function(x) { return x*x; }
  • 5.编写calculator对象,实现基本的操作:
    var calculator = { // 对象直接量
    operand1: 1,
    operand2: 1,
    add: function() {
    // 注意this关键字的用法,this指代当前对象
    this.result = this.operand1 + this.operand2;
    }
    };
  • 6.编写函数,返回传入实参的最大值
    function max(/* … */) {
    var max = Number.NEGATIVE_INFINITY;
    // 遍历实参,查找并记住最大值
    for(var i = 0; i < arguments.length; i++)
    if (arguments[i] > max) max = arguments[i];
    // 返回最大值
    return max;
    }

四、编程题

  • 1.编写一个函数 f(x) = 4×2+3x+2,使用户通过提示对话框瑜入x的值,能得到相应的计算结果。
  • 2.编写一个函数Min(x,y)求出x,y这两个数中的最小值,要求x,y的值由用户通过提示对话框输入。
  • 3.编写一个判断某个非负整数是否能够同时被3,5,7整除的函数,然后在页面上输出1~1000之间所有能同时被3,5,7整除的整数,并要求每行显示6个这样的数。
  • 4.在页面上编程输出100~1000之间的所有素数,并要求每行显示6个素数。
  • 5.编写一个非递归函数factorial(n),计算12!-10!的结果。
  • 6.编写一个带一个参数(指定显示多少层星号“*”的函数,它在页面止输出的一个5层星号“*”图案类似。

    其中,每行的星号“*”之间有一个空格间隔。
  • 7.斐波纳契(Fibonacci)数列的第一项是1,第二项是1,以后各项都是前两项的和。试用递归函数和非递归函数各编写一个程序,求斐波纳契数列第N项的值。
  • 8.编写函数,用下面的公式计算π的近似值。

    在页面上输出当n=100,500,1000,10000时π的近似值。
  • 9.利用全局变量和函数,设计模拟幸运数字机游戏。设幸运数字为8,每次由计算机随机产生3个1-9之间(包括1和9)的随机数,当这3个随机数中有一个数字为8时,就算赢了一次,要求利用函数计算获胜率。
  • 10.如何截取字符串www.everyinch.net中的everyinch?
  • 11.判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下画线、总长度为5-20
  • 12.编写一个方法,求一个字符串的字符长度。
  • 13.给你一个字符串String=“adadfdfseffqdjhuserfefsefseetsdg”,要求找出里面的字符串qdjhu,使用JavaScript实现。
  • 14.如何获取浏览器URL中查询字符串的参数?
  • 15.如何实现一个删除字符串左边空白字符的方法?
  • 16.JavaScript的typeof都返回哪些数据类型?
  • 17.写出以下语句运算结果的语句。
    typeof(null)、typeof(undefined)、typeof(NaN)、typeof(NaN==undefined)
  • 18.“5”+3的结果是多少?为什么?
  • 19.请自定义一个函数,实现字符串反转。
  • 20.字符串操作主要有哪些?
分享&收藏

转载请注明:陈童的博客 » JavaScript函数的练习题

喜欢 (22)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(8)个小伙伴在吐槽
  1. ,,答案呢?
    1232020-03-26 08:34 回复
  2. 可不可以公布答案呀。
    七巷2020-04-09 18:12 回复
  3. 可不可以公布答案啊???
    廾匸@2020-10-10 14:09 回复
  4. 来这里多学习~!
    Adoncn2021-09-05 10:28 回复
  5. 请问答案在哪里?
    卡比卡比丘2021-10-20 19:28 回复
'; } if( dopt('d_footcode_b') ) echo dopt('d_footcode'); ?>