标签:javascript
JavaScript
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。
JavaScript代码存在形式
<!-- 方式一 --> <script type"text/javascript" src="JS文件"></script> <!-- 方式二 --> <script type"text/javascript"> Js代码内容 </script>
JavaScript代码存在位置
HTML的head中
HTML的body代码块底部(推荐)
为什么要放在<body>代码块底部?
HTML代码从上到下执行,先加载CSS,避免html出现无样式状态;
将JavaScript代码块放在<body>最后,可以让网页尽快的呈现给用户,减少浏览者的等待时间,避免因为JS代码块阻塞网页的呈现。
由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。
如: <script src="https://www.gstatic.com/og/_/js/k=og.og2.en_US.iF4jnkQuaf0.O/rt=j/t=zcms/m=def/exm=in,fot/d=1/ed=1/rs=AA2YrTv5-POC4Ks9GtGRdY2ywUWisqz7-Q"></script> <script> alert(‘123‘); </script>
变量
全局变量
局部变量
JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量
var name = "seven" # 局部变量 age = 18 # 全局变量 注:注释 // 或 /* */
基本数据类型
数字(Number)
js数据类型之数字
var page = 111;
var age = Number(18);
var a1 = 1,a2 = 2, a3 = 3;
parseInt("1.2");
parseFloat("1.2");js数据类型之字符串
var name="jwh"
undefined
name
"jwh"
var name = "wupeiqi";
var name = String("wupeiqi");
var age_str = String(18);
 
常用方法:
    obj.trim()
    obj.charAt(index)
    obj.substring(start,end)
    obj.indexOf(char)
    obj.length布尔(Boolean)
var status = true; var status = false; var status = Boolen(1==1)
js数据类型之数组(Array)
var li=[11,22,33,44,55,66] undefined li [11, 22, 33, 44, 55, 66] var names = [‘alex‘, ‘tony‘, ‘eric‘] var names = Array(‘alex‘, ‘tony‘, ‘eric‘) 常用方法: 添加 obj.push(ele) 追加 obj.unshift(ele) 最前插入 obj.splice(index,0,‘content‘) 指定索引插入 移除 obj.pop() 数组尾部获取 obj.shift() 数组头部获取 obj.splice(index,count) 数组指定位置后count个字符 切片 obj.slice(start,end) 合并 newArray = obj1.concat(obj2) 翻转 obj.reverse() 字符串化 obj.join(‘_‘) 长度 obj.length
js数据类型之字典
var dic={"k1":"v1","k2":"v2"}
undefined
dic
Object {k1: "v1", k2: "v2"}更多操作见: http://www.shouce.ren/api/javascript/main.html
序列化和反序列化
var dic={"k1":"v1","k2":"v2"}
a=JSON.stringify(dic)
"{"k1":"v1","k2":"v2"}"
a
"{"k1":"v1","k2":"v2"}"
b=JSON.parse(a)
Object {k1: "v1", k2: "v2"}
b
Object {k1: "v1", k2: "v2"}undefined
undefined表示未定义值 var name;
null是一个特殊值
数组的两种for循环
var li=[11,22,33,44,55,66]
for (var index in li){
console.log(index,li[index]);
}
VM329:1 0 11
VM329:1 1 22
VM329:1 2 33
VM329:1 3 44
VM329:1 4 55
VM329:1 5 66
undefinedfor (var i=0;i<li.length;i++){
console.log(i,li[i]);
}
VM330:1 0 11
VM330:1 1 22
VM330:1 2 33
VM330:1 3 44
VM330:1 4 55
VM330:1 5 66
undefinedfor (var key in dic) {
console.log(key,dic[key]);
}
VM342:1 k1 v1
VM342:1 k2 v2
undefined// while循环
while(条件){
    // break;
    // continue;
}条件语句
//if条件语句
 
    if(条件){
 
    }else if(条件){
         
    }else{
 
    }
 
var name = ‘alex‘;
var age = 1;
 
// switch,case语句
    switch(name){
        case ‘1‘:
            age = 123;
            break;
        case ‘2‘:
            age = 456;
            break;
        default :
            age = 777;
    }异常处理
try{
 
}catch(e) {
 
}finally{
 
}函数
函数的声明
    function func(arg){
        return true;
    }
         
匿名函数
    var func = function(arg){
        return "tony";
    }
 
自执行函数
    (function(arg){
        console.log(arg);
    })(‘123‘)面向对象
function Foo (name,age) {
    this.Name = name;
    this.Age = age;
    this.Func = function(arg){
        return this.Name + arg;
    }
}
 
var obj = new Foo(‘alex‘, 18);
var ret = obj.Func("sb");
console.log(ret);标签:javascript
原文地址:http://9272317.blog.51cto.com/9262317/1826705