1.函数

isNaN(数据)/parseInt/parseFloat/Number/prompt...

函数分为系统函数和自定义函数

function: 功能体,函数(方法),可以接受若干个数据,返回处理的结果。用于封装反复执行的代码——饺子机

(1)创建普通函数

function 函数名称(){

函数体  //要封装的代码

}

调用

函数名称()

(2)创建带有参数的函数

function 函数名称(参数列表){//用于接收传递的数据

函数体;

}

调用

函数名称(参数列表) //实际传递的数据

参数: 创建函数时的参数称为形参,调用时参数称为实参,实参会赋值给形参,多个参数之间用逗号隔开。参数可以有0个或者多个,如果形参未被赋值,值为undefined

(3)创建带有返回值的函数

function 函数名称(参数列表){

函数体;

return 值; //返回值,函数执行完返回的结果

}

调用

函数名称(参数列表)

注意事项:如果函数中没有return,或者return中没有加任何值,返回undefined;执行完return后的代码不会再执行。

对比break和return用法

break用于结束switch语句,还可以用于提前结束循环。

return 用于函数中返回值,可以结束函数后续代码执行。

2.作用域

变量或者函数的可访问范围,分为两种

全局作用域:在全局使用var声明的变量,可以在任意范围访问到

函数作用域:在函数使用var声明的变量,只能在函数内部访问到

注意事项:在函数内不使用var声明的变量,是全局变量,可以在函数外部访问——不推荐这样写。

(1)变量提升

JS程序执行前,会将使用var关键字声明的变量提升到所在作用域的最前边,但是赋值还是在原来的位置。

(2)函数的作用域

函数的可访问范围,在全局作用域下创建的函数可以在任意位置访问;在函数作用域下创建的函数只能在函数内部访问。

(3)函数提升

和变量提升一样,JS程序执行前,会把function关键字创建的函数提升到所在作用域的最前边,在调用的时候才会执行函数体中的代码

JS函数和对象的更多相关文章

  1. JS函数和对象(一)

    在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处 一.JS中的函数 1.1无参函数 其形式如下代码所示 function box(){ alert("我是一个函数,只有被调用 ...

  2. node js 函数和对象

    1.函数 1.1匿名函数 函数声明 function fn(){  } 函数表达式 var fun=function(){  } 函数名称和函数名称()的区别 fun/fn   fun()/fn() ...

  3. 深入理解js——函数和对象的关系

    函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...

  4. js函数事件对象

    每个函数都有4个默认对象 arguments 保存着实际传入的参数,集合列表 return 有两个功能,打断函数和返回函数值 this 谁调用的函数,this就是谁 event 事件对象 事件 box ...

  5. JS中的对象和方法简单剖析

    众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...

  6. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  7. 【JS小技巧】JavaScript 函数用作对象的隐藏问题

    用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...

  8. 【JS小技巧】JavaScript 函数用作对象的隐藏问题(F.ui.name)

    用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...

  9. 关于js函数对象的理解

    js中函数和对象的关系: 什么是对象?根据W3C上面的解释JS中所有事物都是对象,对象是拥有属性和方法的数据,由此可以看出除了基 本值类型不是对象(number.string.Boolean.Unde ...

随机推荐

  1. 微软的 Sysinternals 系统管理工具包,例如可找出自动启动的流氓软件

    作者:Kenny链接:https://www.zhihu.com/question/52157612/answer/153886419来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  2. C#多线程(16):手把手教你撸一个工作流

    目录 前言 节点 Then Parallel Schedule Delay 试用一下 顺序节点 并行任务 编写工作流 接口构建器 工作流构建器 依赖注入 实现工作流解析 前言 前面学习了很多多线程和任 ...

  3. js 之 object

    js之object 对象 ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值.对象或函数”.严格来说,这意味着对象是无特定顺序的值的数组. 尽管 ECMAScrip ...

  4. Java算法之 二分搜寻法 ( 搜寻原则的代表)

    为什么80%的码农都做不了架构师?>>>   二分搜寻法 ( 搜寻原则的代表) 1.二分查找又称折半查找,它是一种效率较高的查找方法. 2.二分查找要求:(1)必须采用顺序存储结构 ...

  5. Tomcat 8 Host-Manager配置访问的方法,全网唯一正确配置

    2019独角兽企业重金招聘Python工程师标准>>> 环境: 操作系统:         Linux version 2.6.32-696.10.1.el6.x86_64 (moc ...

  6. Java9新特性系列(module&maven&starter)

    上篇已经深入分析了Java9中的模块化,有读者又提到了module与starter是什么关系?本篇将进行分析. 首先先回顾下module与maven/gradle的关系: module与maven/g ...

  7. 对包含HttpContext.Current.Cache的代码进行单元测试

    假设我们如下代码调用了HttpContext.Current.Cache 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class CacheManager { ...

  8. 图论--2-SAT--POJ 3905 Perfect Election

    Perfect Election Time Limit: 5000MS         Memory Limit: 65536K Total Submissions: 964         Acce ...

  9. 图论--2-SAT--详解

    问题描述: 现有一个由N个布尔值组成的序列A,给出一些限制关系,比如A[x]AND A[y]=0.A[x] OR A[y] OR A[z]=1等,要确定A[0..N-1]的值,使得其满足所有限制关系. ...

  10. 2019 ICPC 南京网络赛 H-Holy Grail

    As the current heir of a wizarding family with a long history,unfortunately, you find yourself force ...