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