函数
一、
1、函数分为现成的系统函数,比如alert(),parseInt()等等
2、第二种是自己自定义的函数
二、函数的特性:复用性、封装性
1、函数声明时,括号里面的东西叫形参,形参必须是变量,且省略了声明变量这个步骤;
2、函数调用时,括号里面的东西叫实参;
function sum(a,b){
console.log(a+b);
}
sum(2,3)
三、函数声明是形参;函数调用是实参
四、变量的作用域:变量起作用的范围
1、局部变量:在函数内声明的变量叫局部变量,在函数体内访问、生效
2、全局变量:在函数外部声明的变量叫全局变量,网页中的函数和脚本都可以访问、生效
(局部函数和全局函数,实际没有这个概念,但写在script第一层的全局函数可以被随意调用,写在函数内的局部函数只能在外层函数体内调用)
五、在 JavaScript 中, 对象和函数同样也是变量。
六、当我们需要的变量在全局和局部都存在的时候,函数内部优先使用自己的
七、函数的返回值return
1、让函数执行完之后,返回一个结果,有返回值的时候,需要拿一个新的变量来接收函数执行的结果
2、没有返回结果,定义的新的变量就会拿到undefined
3、return有结束函数的作用,会跳出循环
return result
八、js预编译
实际上js的运行分两个阶段
第一个阶段是预编译阶段
1、将所有的var声明的变量进行提升
2、讲所有的具名函数进行提升
第二个阶段是代码执行阶段
js预编译经典面试题
console.log(v1);
var v1=100;
function foo(){
console.log(v1);
var v1=200;
console.log(v1);
}
foo();
console.log(v1);
结果是:undefined、undefined、200、100
九、全局变量的声明
1、函数里面没有被声明的变量,默认为全局变量,在函数体外可以被调用
function add(){
m=6;
}
add();
console.log(m);
结果是:6
了解一下 :
1、Math.pow(x,y) x的y次幂
2、自定义属性:*[color="red"]{color:red;}
3、三目运算符
1)三目运算符的语法:表达式?表达式1:表达式2
2)var flag=true; a = flag==true ? 3 : 1 /a = flag ? 3 : 1
if(flag) { a=3 } else { a=1 }
3) 简单的双分支可以替换成三目运算符,可以提升代码的逼格
4、短路赋值 var a=3||4 console.log(a)/结果是3
var b=0||4 console.log(b)/结果是4
var c=null||5 console.log(c)/结果是5
var d=1&&2 console.log(d)/结果是2
var e=0&&3 console.log(e)/结果是0