1.ecmascript 基本语法
声明变量 (变量通俗讲即存储的值)
声明变量 var(注意 JS 里区分大小写)
JS 声明变量的规则 var 名字;
初始化变量 名字 = 10;(变量在使用的时候先初始化否则 undefined)
1.1 声明变量
- var price;
- console.log(price);
1.2 初始化变量
- price=10;
- console.log(price);
1.3 声明多个变量
- var a, b,c;
- a=1,b=2,c=3;
- console.log(a,b,c);
1.4 声明时直接初始化
- var d=4;
- console.log(d);
- var e= 5,f= 6,g=7;
- console.log(e,f,g);
1.5 变量在声明的时候不能重复
- var h=8;
- var h=9;
- console.log(h);//9
JS 里面的 6 种数据类型
- number(数字类型)
- boolen(true,false)
string 字符串类型
- null(空类型)
- object(对象型)
- undefined(未定义)
- var i=10;
- var j=true;
- var k="123";
- var l=null;
声明函数 (声明方法)
声明关键字 function
声明函数规则 function 名字 (){};
使用函数 名字 ();
- function showdate(){
- console.log(1);
- }
- showdate();
2.1 函数按照返回值分为 无返回值函数和带返回值函数
- function showsto(){
- console.log(1);
- }
- showsto();
- function showsinfor(){
- return 4;
- }
- console.log(showsinfor());
2.2 按照是否带参数分无参函数和有参函数
- function meta(){
- console.log(3);
- }
- meta();
- function mate(name,sex,age){
- console.log(name,sex,age);
- }
- mate("张三","男",24);
2.3 JS 里面基本函数声明时要提前声明, 变量也要提前声明
- var m=3;
- console.log(m);
- function showlist(){
- console.log();
- var m=3;
- console.log(m);
- }
- showlist();
作用域 (相当于变量的作用范围) 在 JS 里面的方法或者事件之外的变量 叫全局 局部变量在方法或者事件的内部
- var ab = 10;
- function showname() {
- var b = 2;
- console.log(ab);
- console.log(b);
- }
- showname();
闭包: 相当于局部变量
JavaScript 语言的特别之处就在于: 函数内部可以直接读取全局变量, 但是在函数外部无法读取函数内部的局部变量.
闭包优缺点: 外部可以使用内部的局部变量 但是这个闭包会存在内存当中
- // 避免使用闭包
- //t1
- function n()
- {
- var q="log";
- return q;
- }
- var p=n();
- console.log(p);
- //t2
- function f1(){
- var a=1;
- function f2(){
- a++;
- console.log(a);
- }
- return f2;
- }
- var m=f1();// 声明变量
- m();// 使用函数
- m();// 使用函数
注意点: 在函数内部声明变量的时候, 一定要使用 var 命令. 如果不用的话, 你实际上声明的是一个全局变量!
函数内部声明变量不加 var 默认全局变量. 全局变量如 a=10; 可以删, 但是局部变量如 var b=20; 不能删
4. 其他函数
4.1 匿名函数
- var nk=5;
- var rs=function(){
- console.log(nk);
- };
- rs();
4.2 自执行函数
- (function(a,b){
- console.log(a,b);
- })(1.2)
来源: http://www.jianshu.com/p/431a1c053373