JS函数、变量作用域
函数参数
函数的()中指定一个或多个形参(形式参数),多个形参之间用,号隔开,声明形参相当于在函数内部声明了对应的变量,但不赋值。在调用时在()中指定实参
调用时解析器不会检查实参类型、数量,实参可以是任意的数据类型。
函数返回值
使用return来设置函数的返回值,作为函数的执行结果来返回
return后可以跟任意类型的值
语法:return 值
function sum(a,b,c){
var d = a + b + c;
return d;
}
var result = sum(1,2,3);
立即执行函数
(function(a,b){
console.log("a = "+a);
console.log("b = "+b)
}(xxx,xxx));
方法
函数也可以称为对象的属性,如果一个函数作为一个对象的属性保存,那么这个函数称为这个对象的方法
枚举对象的属性
使用for...in语句,对象中有几个属性,循环就执行几次,每次执行,都会将对象中的一个属性的名字赋值给变量
语法:for(var 变量 in 对象){
}
作用域:变量的作用的范围。
全局作用域
- 直接写在
<script>标签的JS代码,都在全局作用域
--在打开是创建,在关闭时销毁 - 全局作用域有一个对象Window,可以直接使用
- 全局作用域,创建的变量都会作为Window对象的属性保存,创建的函数作为Window的方法保存。
变量声明提前
使用var关键字声明的变量,会在所有的代码执行之前被声明(但不会赋值),如果不适用var关键字,则变量不会被声明提前
函数声明提前
使用函数声明形式创建的函数function函数(){},会在所有的代码执行之前被创建
//会被提前
function fun(){
console.log("xxx");
}
//不会被提前
var fun2 = function(){
}
JS函数、变量作用域的更多相关文章
- js函数与作用域,了解函数基本概念
通过js基础语法了解到js的值包含数字,字符串和布尔值;js运算符分为算数,赋值,比较和逻辑运算符;js的流程控制包含条件判断if,switch选择;循环for while:下面js的函数及作用域,学 ...
- 函数变量作用域(python)
收集参数:该参数个数不确定 >>> def test(*params): print('参数的长度是:', len(params)); print('第二个参数是:', params ...
- js的变量作用域
js不支持块级变量作用域,而是包含它们的函数的作用域, 例如: function query() { ; ; i < ; i++) { var b = i; } return b + a; } ...
- js学习--变量作用域和作用域链
作为一名菜鸟的我,每天学点的感觉还是不错的.今天学习闭包的过程中看到作用域与作用域链这两个概念,我觉得作为一名有追求的小白,有必要详细了解下. 变量的作用域 就js变量而言,有全局变量和局部变量.这里 ...
- js函数的作用域与this指向
函数的作用域与this指向是js中很重要的一部分,理清这点东西需要个逻辑,看看我的逻辑怎么样... 下面是个提纲,可以直接挑你感兴趣的条目阅读. 函数的定义方式:直接定义(window下,内部定义), ...
- JavaScript-4.2函数,变量作用域---ShinePans
<html> <head> <meta http-equiv="content-type" content="text/html;chars ...
- JavaScript函数变量作用域
变量作用域 在JavaScript中,用var申明的变量实际上是有作用域的. 如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量. 如果两个不同的函数各自申明了同一变 ...
- js的变量作用域 ,变量提升
(function(){ a = 5; alert(window.a); var a = 10; alert(a); })(); 结果: undefined 10 代码等同于下面 var a = un ...
- #9.6课堂JS总结#变量作用域 date()对象 math()对象
一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...
- js函数变量
局部 JavaScript 变量 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域是局部的). 您可以在不同的函数中使用名称相同的局部 ...
随机推荐
- Matplotlib学习
决定通过一个个例子来实践并掌握Matplotlib.. 例子1. 画一个散点图,数据分布如下: import numpy as np import pandas as pd import matplo ...
- python中matplotlib的颜色及线条控制
参考网址: http://www.cnblogs.com/darkknightzh/p/6117528.html http://stackoverflow.com/questions/22408237 ...
- vue脚手架---vue-cli
开年第一篇 今天先讲一讲 vue-cli的安装 npm install vue-cli 可能需要很多的时间视网络环境而定, 如果长时间等待 也可以试试使用淘宝的镜像(cnpm)安装( npm inst ...
- Python学习之旅(三十)
Python基础知识(29):virtualenv virtualenv:用来为一个应用创建一套隔离的Python运行环境 比如,现有两个Python项目,一个是Python2.7的一个是Python ...
- Java编程基础篇第三章
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当 ...
- [No000017F]如何监控注册表的修改
今天我们将向您展示如何使用我们最喜欢的工具之一Proc Mon,在您更改PC上的组策略设置时查看编辑的注册表项. 使用Proc Mon查看组策略对象修改的注册表设置 您要做的第一件事就是从Sys In ...
- ExceptionLess使用
1.os使用windows server 2012,省的升级iis express-iis 8(测试环境是IIS Express 8,生产环境IIS 7.5).PowerShell 3+了. 2.wi ...
- git diff 结果分析
git diff 的5个使用场景: 1.staging area和working area的文件 (无其他参数时) git diff 2.master分支和working area的文件 (用ma ...
- 接口测试工具-Jmeter使用笔记(七:用户定义的变量)
使用场景:一组API根据业务流程制作成测试脚本,想要移植到其他测试环境时,由于数据库发生了变更,有些初始化数据也相应发生了变化,例如环境地址.请求路径等等.博主甚至把服务器地址和接口的部分共同请求路径 ...
- 001-CPU多级缓存架构
一.基本概念 大致关系: CPU Cache --> 前端总线 FSB (下图中的Bus) --> Memory 内存 CPU 为了更快的执行代码.于是当从内存中读取数据时,并不是只读自己 ...