JavaScript
2016-07-15 14:45
585 查看
JavaScriptJavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。JavaScript代码存在形式
HTML的body代码块底部(推荐)
为什么要放在<body>代码块底部?HTML代码从上到下执行,先加载CSS,避免html出现无样式状态;
将JavaScript代码块放在<body>最后,可以让网页尽快的呈现给用户,减少浏览者的等待时间,避免因为JS代码块阻塞网页的呈现。
由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。
变量全局变量
局部变量
JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量
基本数据类型数字(Number)
js数据类型之数字
js数据类型之字符串
js数据类型之数组(Array)
数组的两种for循环
异常处理
函数
面向对象
<!-- 方式一 --> <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.lengthjs数据类型之字典
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);
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解