任何一门编程语言,都是有变量,数据类型,函数,字符串,数组,等等这些组成,其中变量和函数的了解与使用也必是尤为重要。
1.变量
- 变量就是一个容器,现实中有各种各样的容器。变量也是放东西,如放一个110,是一个数字,放“HTML5”它是一个字符串,放一个真,它就是一个布尔值 ...
- 数据也是有类型。或者说,变量也是有不同的类型的,就叫数据类型。不同的变量可能有不同的数据类型。它是用来描述变量的。
- 声明一个变量 : var就是专门用来声明变量 ,如 :var a;
- 定义一个变量 : 在声明的同步,并赋值,如:var a=1;
- var 声明的变量特征:
var a = 110;
console.log(a)
- 特征1:如果仅仅是声明,那么变量是有默认值 var a; 如果你仅仅是声明了一个变量,没有赋值,那么它有一个默认值叫undefined
console.log(a)
- 特征2:使用var 声明的变量可以进行提升 提升就是把加var的变量提到最前面。
JS代码在执行之前有一个预解析,预解析的时候做了两件事,把加var的变量提升,把函数提升到了代码段的最前面。
onsole.log(a)
var a = 666;
console.log(a)
- JS中的变量分两类:全局变量,局部变量。
(1)全局指变量在函数内外都可以访问 , 如普通话 ,在函数内部和函数外部都可以访问。
var age = 100;
function f(){
console.log("在函数里面访问的全局变量"+age)
}
console.log(age)
f()
(2)局部变量指只能在函数内部访问 ,如方言 只能在函数里面被访问,在函数外面是不能被访问
function f(){
var name = "wangcai";
console.log(name)
}
console.log("----"+name)
f()
(3)在JS中,全局变量和局部变量的分界点是函数。
2.函数
+函数的定义:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。
- 在计算机中,模仿了数学中的函数,在计算中的函数,它表示一个功能块,你给这个功能块一个值,这个功能块就给你返回一值。
+在JS中,定义函数有三种方式:函数声明(函数定义),函数表达式,箭头函数。 - function是用来声明函数的, f叫函数名, ()是函数的特殊标志, {}叫函数体。
- 例如:
function f(){
console.log("f....")
}
- 例如运用函数打印九九乘法表:
function f(){
let str =""
for(let i=1;i<=9;i++){
for(let j=1;j<=i;j++){
str += j+"*"+i+"="+i*j;
str +=" ";
}
str +="\n";
}
console .log(str)
}
f()
- 函数的提升
使用function声明的函数,也会提升 f()。
function f(){
console.log("f...")
}
f()
- 函数的返回值
在JS中,如果一个函数没有指定返回值,那么这个函数返回undefined
function f(){
// 其实如果函数没有返回值,会在函数体的最后面加一行return undefined;这行可写可不写
return undefined;
}
console.log(f())
- 例如:
function f(){
var max =a>b? a:b;
var min =a<b? a:b;
var avg =(a+b)/2;
return [max, min ,avg];
}
console.log(f(1,5))
- 函数的参数传递
函数声明处,写的参数是形参,形参你可以当它当用函数体内部的局部变量。如果给函数传递的数据是引用的数据类型,本质是传递是地址,也叫引用传递。
var x=[1,2];
function f(a){
a[0]=2;
}
f(a)
console.log(x)
- 函数可以说另一个函数的参数
如果一个函数当作了另一个函数的参数,那么我们就这个函数为回调函数。
for(let i=1;i<9;i++){
setTimeout(function f(){
console.log(i)
},1000
)}