您的位置:首页 > Web前端 > JavaScript

JavaScript

2016-07-15 14:45 585 查看
JavaScriptJavaScript是一门编程语言,浏览器内置了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