JavaScript 基本语法

JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理

  1、JavaScript代码的引用及注意事项

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>

    <!--第一种引用方式-->
    <script type="text/javascript">
    //js代码区
    </script>

    <!--第二种引用方式,最常用-->
    <script type="text/javascript" src="../jquery-3.1.0.js"></script>
  <!--HTML有这两种引入JS的方法,但是你感觉到有什么可以再完善的地方吗?-->
  <!--因为HTML代码是从上至下执行的,如果JS放在上面的话,就会导致必须先完成复杂的JS加载,然后才能显示网页。-->
  <!--所以最好的做法是:将JS引用放到HTML的最底部,最后加载。-->
</head> <body> </body> </html>

  

  2、变量的声明

#全局变量
age = 18
#局部变量
var age = 18

注:注释 // 或 /* */

<script type="text/javascript">
        /*
        name = 18
        var name=18
        */
    </script> 

  3、基本数据类型

  数字(Number)

  

  4、字符串类型String

var name = ' kongzhagen ';
var age_str = String(18);

常用方法:
  name.length 结果:12
  name.charAt(4) 结果:'g'
  name.indexOf('g') 结果:4
  name.substring(0,4) 结果:' kon'
  names.slice(1,3) 结果:'ko' #两个索引的位置
  name.trim() 结果:'kongzhagen'

  布尔型Boolean

true,false均小写
Boolean(1==1) 结果:true Boolean(1==2) 结果:false

  5、数组(列表)Array

var names=['a','b','c','d']
var ages=Array(11,22,33,44)  #Number类型变数组
常用方法:
  追加:
    names.push('e') #列表后面追加 ["a", "b", "c", "d", "e"]
    names.unshift('p')  #列表前面追加["p", "a", "b", "c", "d", "e"]
    names.splice(1,0,'qq') #在列表指定位置追加,在第1个位置追加qq,删除0个元素,有返回值 ["p", "qq", "a", "b", "c", "d", "e"]
  移除:
    names.pop() #移除最后一个元素,有返回值
    names.shift() #移除最前面一个元素,有返回值
    names.splice(1,2) #移除索引位置1,2的值
  合并:
    name=name1.concat(name2)  #将name1和name2合并成一个新数组
  反转:
    sss.reverse()  #数组反转
  字符串化:
    sss.join('-') #将一个数组的值用某个字符连接起来,成为一个新的字符串
  长度:
    sss.length #数组的长度

字典:
  dic = {'k1':'v1','k2':'v2}

  6、未定义值

var pp
undefined

  7、null

null是一个特殊值
    怎么个特殊法呢?

   8、循环格式:for/while(){}

经典格式:
#============数组============== <script> var names = ['alex','kzg','sam']; for (var i=0;i<names.length;i++){ console.log(i); #循环时获取的是索引 console.log(names[i]); } </script>

普通格式:
<script>
var names = ['alex','kzg','sam'];
for (var n in names){
console.log(n); #循环时获取的是索引
console.log(names[n]);
}
</script>

#===========字典=============
<script>
var dic = {'k1':'v1','k2':'v2','k3':'v3'};
for(var d in dic){
console.log(d);
console.log(dic[d]);
}
</script>

// while循环
while(条件){
    // break;
    // continue;
}

  

  9、条件语句if(){}else if(){}else{}/switch(){case}

<script>
        var name = 'li';
        if (name == 'li'){
            console.log('李明');
        }else if(name == 'sun'){
            console.log('孙前')
        }else{
            console.log('明哥')
        }
    </script>


//switch/case语句
<script>
var name = 'li';
switch(name){
case 'li':
console.log('liming');
break; #必须有,否则三个都会执行
case 'sun':
console.log('sunqian');
break;
default:
console.log('qiange');
break;
}
</script>

  10、异常处理

<script>
        try{
        
        }
        catch(e){  #e是错误的内容,除了python其它语言都有这个词

        }finally{

        }
    </script>

  11、函数:function f_name(){}

#声名函数
<script>
function myfun(arg){
return 'nnnnoooo';
};
console.log(myfun()); #这里可以不传参??
</script>

#匿名函数
<script>
var myf = function(arg){
return 'ooookkkk';
};
console.log(myf());

</script>

#自执行函数(函数)(参数)
<script>
(function myfun(arg){
console.log(arg);
})('123');
</script>

  12、对象

    <script>
//        定义一个对象函数
        function Foo(arg1,arg2){
            this.age1 = arg1;
            this.age2 = arg2;
            this.Func = function(arg){
                return this.age1 + this.age2 + arg;
            }
        }
//初始化实例对象
        var obj = new Foo(10,20);
//运用对象
        var ret = obj.Func(30);
        console.log(ret);
    </script>

结果:60

   13、序列化与反序列化

<script>
        dic = {'k1':'v1','k2':'v2'};
        var st = JSON.stringify(dic); #序列化
        var ob = JSON.parse(st);    #反序列化
        console.log(typeof(ob));
    </script>

  

   

  

原文地址:https://www.cnblogs.com/kongzhagen/p/6146133.html