一、变量
变量本质就是一块内存空间,变量名指内存空间的别名,变量值指内存空间的数据,
变量名和变量值就构成了变量。
与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
- 变量必须以字母开头
- 变量也能以 $ 和 _ 符号开头(不推荐这么做)
- 变量名称对大小写敏感(y 和 Y 是不同的变量)
提示:JavaScript语句和JavaScript变量都对大小写敏感。
声明JavaScript变量
var
var carname; //使用var关键词声明变量,此时值为undefined carname = 1000; //赋值 var carname = 1000; //声明并赋值 var name="Gates", age=56, job="CEO"; //一条语句中声明很多变量 //该语句以 var 开头,并使用逗号分隔变量 //使用var声明变量,在这前用的比较多,在ES6出来后,又定义了两个关键字, //一个叫let , 一个叫const // 也就是在JS中,我们以后使用let或const来声明变量
let
let carname = 1000; //var声明会提升全局变量、局部变量 //var同名变量覆盖 // let 不提升,不能覆盖 // let是块级作用域,函数内部使用let定义后,对函数外部无影响。
const
const par=3.1415936 // const 声明常量,不可更改,且必须初始化
1. 局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
2. 全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
二、函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
当调用函数时,会执行调用的函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
声明函数
在JS中,定义函数有三种方式:函数声明(函数定义),函数表达式,箭头函数
1. 可使用关键词function
f() //f...(函数提升,结果是一样的) function f(){ console.log("f...") } f() //f...
2. 也可使用函数表达式
// 函数表达式 var a = 110; // g() 函数表达式之前不能调用函数!!!!! // 在js中函数是也是值,我们可以把一个函数赋给一个变量 var g = function(){ console.log("g...") } g()
3. 箭头函数是在es6中添加的一种规范
// 箭头函数有两种格式,一种只包含一个表达式,没有{…}和return //一种包含多条语句,这个时候{} return 就不能省略 x => x*x //相当于 function(x){return x*x} x => { if (x>0){ return x*x }else{ return x } }
提示:JavaScript对大小写敏感。关键词function必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
调用函数(参数)
在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用,由逗号 (,) 分隔:
function Myfunction(a,b){ return a+b; } var s = Myfunction(1,2) console.log(s)
另外需要注意的是:
function f(a,b){ return 123; // 在一个函数中遇到了reutrn语句,return语句后面的代码都不会执行 return a+b; //return a,b; // return 语句只能返回一个值,不能返回多值 // return只能返回一值,如果你要返回多值,请你把多个值放到一个容器(数组,对象) //return [a,b,a+b]; } console.log(f(1,2)) // 在JS中,如果一个函数没有指定返回值,那么这个函数返回undefined function f(){ // 其实如果函数没有返回值,会在函数体的最后面加一行return undefined;这行可写可不写 return undefined; } console.log(f())
end
不足和错误之处,还请各位大佬批评指正,比心心~~