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. 2、flink入门程序Wordcount和sql实现

    一.DataStream Wordcount 代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 基于scala实现 maven依赖如下: <depend ...

  2. Hadoop学习笔记(三) ——HDFS

    参考书籍:<Hadoop实战>第二版 第9章:HDFS详解 1. HDFS基本操作 @ 出现的bug信息 @-@ WARN util.NativeCodeLoader: Unable to ...

  3. Vim Operations

    Vim有三种模式:输入模式.命令模式和末行命令模式. 输入模式用来输入文字,命令模式用来下达编排文件的操作指令,末行命令模式用来进行文件存档.离开编辑器等操作. 进入及离开 末行模式下: :w 保存当 ...

  4. 算法竞赛进阶指南--在单调递增序列a中查找小于等于x的数中最大的一个(即x或x的前驱)

    在单调递增序列a中查找<=x的数中最大的一个(即x或x的前驱) while (l < r) { int mid = (l + r + 1) / 2; if (a[mid] <= x) ...

  5. 数学--数论--Hdu 1452 Happy 2004(积性函数性质+和函数公式+快速模幂+乘法逆元)

    Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004^X. Your ...

  6. HDU 1874 畅通工程续 2008浙大研究生复试热身赛(2)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  7. 快速幂 递归&&非递归 模板

    一.递归版快速幂 inline int qpow(int x,int y,int p){ if(y==0) return 1; int z=qpow(x,y>>1,p); z=1ll*z* ...

  8. 全面解读 vue3.0

    在此附上链接,在知乎上看到的,感觉说的很详细 https://zhuanlan.zhihu.com/p/46269528

  9. docker 生产环境基础应用

    项目背景 此项目是在已有项目基础上,开发的一套相对独立的系统.项目总体分为三部分,前端.中间应用服务.流媒体服务.前端技术选型为vue+elementui,中间应用服务为.net core webap ...

  10. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...