函数的知识点

这篇具有很好参考价值的文章主要介绍了函数的知识点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.下列选项中,能正确调用和运行函数的是(B)

A、(function(){
   console.log(1);
  })
B、fun();
  function fun(){console.log(1)}
C、fn();
  var fn = function(){console.log(1);};
D、var fn = new Function(a,console.log(a));
  fn(1);

解析:A不会自动调用函数,若要调用函数,应改为(function(){console.log(1);})()  立即调用的匿名函数.
   B、函数声明提升,可以调用和执行函数
   C、函数表达式需先赋值再使用
   D、new Function()创建函数对象时,其参数必须为字符串形式。

注意:定义函数的两种方式:函数声明和函数表达式。
   JavaScript引擎在任何代码执行之前,会先读取函数声明,并在执行上下文中生成函数定义。而函数表达式必须等到代码执行到它那一行,才会在执行上下文中生成函数定义。

2.以下代码执行后, num 的值是?(A)

var foo=function(x,y){
	return x-y;
}
function foo(x,y){
	return x+y;
}
var num=foo(1,2);

A.-1
B.3
C.1
D.2

解析:
  理解声明提升!!!JavaScript在任何代码执行之前,会先读取函数声明/变量声明,并在执行上下文中,生成函数定义。
  函数表达式无法提升。
  函数提升优先级高于变量提升,且不会被同名变量声明时覆盖,但是会被同名变量赋值后覆盖。
即JavaScript编译的代码如下:

//函数声明提升
function foo(x, y){
   return x + y;
}
//变量声明提升
var foo;
var num;
 
foo =function(x, y){
   return x - y;
}
 
num = foo(1, 2);

3.请问以下JS代码的输出结果以及变量i的值是?(B)

var i = 100;
function foo() {
    bbb: try {     //1.进入代码块
        console.log("position1");    //2.弹出position1
        return i++;  }      //3.此处的i自增1,i=101    return失效,但执行了此语句,然后进入finally
    finally {
        break bbb;    //4.跳出bbb标签代码块
    }
    console.log("position2");  //5.弹出position2
    return i;   //6.return的i=101 由3,哪怕没返回但确实执行了该return语句
}
foo();

A.position1、position2、100
B.position1、position2、101
C.position1、101
D.100

解析:
  finally 语句无论 try 和 catch 执行结果如何都会执行(return,break之类的失效)
  break跳出循环:
   1)当break语句用于switch语句时,会跳出switch代码块,终止执行switch代码。
   2)当break语句用于循环语句时,会跳出整个循环,不再执行后续剩余的循环。
   3)注意break与continue的区别:continue会跳出本轮循环,继续执行后续剩余的循环
  break跳出标签指向的代码块.

注意:1.try{}或catch(){}块里若有return,finally{}里没有return语句,
    ①则先执行return语句,但不返回
    ②执行finally语句中全部代码
    ③执行try{}或catch(){}里的return返回
   2.finally{}里有return语句,在finally里返回return,不需要再执行try{}或catch(){}里的return。文章来源地址https://www.toymoban.com/news/detail-649293.html

到了这里,关于函数的知识点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端开发——Javascript知识(介绍)

    目录 有关JavaScript的知识  JavaScript的优点   JavaScript的领域 JavaScript的组成 JavaScript的特点 第一个JavaScript程序 在 HTML 文档中嵌入 JavaScript 代码 在脚本文件中编写 JavaScript 代码 JavaScript内容  Html内容  JavaScript 代码执行顺序 JavaScript中的几个重要概念 标识符 保留字 区分

    2024年02月01日
    浏览(47)
  • uniapp和小程序如何分包,详细步骤手把手(图解,前端高级开发岗必问知识点

    二、uniapp分包小程序 App默认为整包。兼容小程序的分包配置。其目的不用于下载提速,而用于首页是vue时的启动提速。 这是我分包小程序之后的目录结构 components:公共组件(供主包引用) page_后跟拼音的都是分包 分包里的components是单个分包自己的组件目录,分包vue页面的引

    2024年04月13日
    浏览(48)
  • 【前端知识】JavaScript——设计模式(工厂模式、构造函数模式、原型模式)

    工厂模式是一种众所周知的设计模式,广泛应用于软件工程领域,用于抽象创建特定对象的过程。 优点:可以解决创建多个类似对象的问题 缺点:没有解决对象标识问题(即新创建的对象是什么类型) 示例: 构造函数模式与工厂模式相比,没有显式地创建对象,其属性和方

    2024年02月15日
    浏览(49)
  • 30个前端开发中常用的JavaScript函数

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 在前端开发中通常会用到校验函数,检验是否为空、手机号格式、身份证格式等等。现按照用途分类整理出了30个常用的方法,在V

    2024年02月14日
    浏览(46)
  • 前端一些知识点

    由来 cookie设计的初衷是用于维护HTTP状态 原理 浏览器首先发送一个无状态请求到服务端 服务端带上cookie返回 浏览器后面的请求都会带上cookie(如果客户端或者服务端对cookie没有操作的话) 生成机制 服务端生成,在Http Response Header 中 Set-Cookie 客户端生成,通过 document.cookie设

    2024年03月13日
    浏览(48)
  • 前端知识点视频补充

    Vscode使用: 需要下载插件:open in browser。这个插件可以快速打开浏览器。 选择文件夹有两种方式:选择打开文件、拖拽方式(这种最方便) 快捷键:快速生成Htm结构文件:!+回车 (注意是英文符号) 代码格式化:shift+alt+f 向上移动:Alt+up 快速复制一行(复制到上行):shift

    2024年02月16日
    浏览(39)
  • 关于前端的那些知识点

    2024年04月22日
    浏览(38)
  • 函数的知识点

    1.下列选项中,能正确调用和运行函数的是(B) A、(function(){    console.log(1);   }) B、fun();   function fun(){console.log(1)} C、fn();   var fn = function(){console.log(1);}; D、var fn = new Function(a,console.log(a));   fn(1); 解析:A不会自动调用函数,若要调用函数,应改为(function(){consol

    2024年02月13日
    浏览(34)
  • Python函数知识点

         函数是指一段可以直接被另一段程序或代码引用的程序或代码,也叫做子程序、方法。现阶段可以理解成函数是带名字的代码块。 函数需要先定义再使用!     举个例子来说,想要判断一个三角形是不是直角三角形,需要用到勾股定理,只有先明确的定义出勾股定理是

    2023年04月09日
    浏览(41)
  • 最全前端 HTML 面试知识点

    1.1.1 定义 超文本标记语言(英语:HyperTextMarkupLanguage,简称:HTML)是一种用于创建网页的标准标记语言 HTML元素是构建网站的基石 标记语言 (markup language ) 由无数个标记(标签、tag)组成 是对某些内容进行特殊的标记,以供其他解释器识别处理 使用标记的文本会被识别为“

    2024年02月20日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包