码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript

时间:2016-07-15 17:31:20      阅读:287      评论:0      收藏:0      [点我收藏+]

标签: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
undefined
for (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
undefined

字典的for 循环技术分享

for (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

标签:javascript

原文地址:http://9272317.blog.51cto.com/9262317/1826705

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!