1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //分类标准是按照检验方法来分 typeof [];//"object" typeof function(){};//"function" typeof 1;//"number" typeof '1';//"string" typeof true;//"boolean" typeof abc;//"undefined" typeof null;//"object" //判断对象实例使用instanceof var abc = function(){}; abc instanceof Function;//true var arr = []; arr instanceof Array;//true arr instanceof Object;//true |
在JavaScript中所有数值都被描绘成浮点值,当定义数值变量时记得不要用引号。
1 2 3 | var a = 3; var b = 4; var ab = a * b;//12 |
一个字符串可由一连串的Unicode字符组成,并由一对双引号或单引号包围。
1 2 3 4 5 | var a = 'hello'; var b = 'weibo'; var ab = a + " " + b;// // +号进行字符串连接处理 // (它还可用于数学上的加法运算) |
布尔类型在你进行条件判断的时候很有用,以了解是否符合指定的标准。布尔有两个可能的值:true和false。任何使用逻辑算法的比较结果都将是布尔值。
1 2 3 4 5 6 7 8 | 5 === (3 + 2); // = true 5 == (3 + '2'); // = false // 你可以给变量声明布尔值: var a = true; // 你可以像这样测试: if (a) { // 你的代码 } |
数组也是一个专门的对象,它可以包含任意数量的数据。要访问数组中的数据你就必须使用数字,用以引用其在数组中的”索引”(从0开始哦~)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // 两种声名数组的不同方式, // 字面: var fruits = ['apple', 'lemon', 'banana']; // 使用数组构造器: var fruits = new Array('apple', 'lemon', 'banana'); fruit[0]; // 访问数组中的第一个数据项 (apple) fruit[1]; // 访问数组中的第二个数据项 (lemon) // 多维数组 var school = [['小明', '小浪'], ['大黄', '小新']]; school[0][0]// 小明在一班 |
对象是命名的的值的集合(键-值对),它和数组很相似,唯一的不同之处在于你可以为每个数据值指定名字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // 两种声明对象的不同方式, // 字面(大括号): var I = { name: 'Wang', job: 'RIA Developer', site:'js8.in' }; // 适用对象构造器: var school = new Object(); school.class1 = ['小明', '小浪']; school.class2 = ['大黄', '小新']; // 两种访问方法 //.运算符 school.class1[0];//小明 //中括号 school['class2'][0];//大黄 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //for 循环 for(var i = 0; i < 10; i++ ){ alert(i); } //for-in循环用于对象遍历 var I = { name: 'Wang', job: 'RIA Developer', site:'js8.in' }; for(var i in I){ alert(I[i]); } |
1 2 3 4 5 6 7 8 9 10 11 12 | //while循环 var a = [0, 1, 2, 3, 4, 5, 6, 7]; var len = a.length; while(len--){ alert(a[len]); } //do-while循环,先do,后判断再循环 len = a.length; do{ len--; alert(len); }while(len); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | var a = 12; //if-else 判断 if(a == 12){//将可能性大的条件往前写,减少判断 alert('a = 12'); }else if(a == 34){ alert('a = 34'); }else{ alert('end'); } //switch判断 switch(a){ case 12: alert('a = 12'); break;//不break,继续执行 case 34: alert('a = 34'); break; default://默认 alert('end'); } |
1 2 3 4 5 6 7 8 | <html> <head> <title>Sample Page</title> </head> <body> <p>hello world!</p> </body> </html> |
1 2 3 4 5 6 7 | <div id="idName" node-type="hello"> <ul id="ul"> <li>i am 1</li> <li>i am 2</li> <li>i am 3</li> </ul> </div> |
1 2 3 | //获取node var node = document.getElementById('idName'); alert(node.innerHTML); |
1 2 3 | //获取li的nodelist组合 var node = document.getElementById('ul'); node.getElementsByTagName('li'); |
1 2 3 4 5 6 7 | <div id="idName" node-type="hello"> <ul id="ul"> <li>i am 1</li> <li>i am 2</li> <li>i am 3</li> </ul> </div> |
1 2 | var myNode = document.getElementById('idName'); myNode.getAttribute('node-type'); |
1 2 | var myNode = document.getElementById('idName'); myNode.setAttribute('node-type','world'); |
实例:hello
1 | <p id="cNode">hello </p> |
创建:createElement/createTextNode
1 2 3 4 5 6 7 8 9 | //创建元素节点 var $span = document.createElement('span'); //创建文本节点 var $text = document.createTextNode('world!'); $span.style.color = 'red';//给点color see see $span.appendChild($text); //获取插入父节点 var node = document.getElementById('cNode'); node.appendChild($span); |
删除:.removeChild
1 2 3 | var node = document.getElementById('cNode');//获取p node = node.getElementsByTagName('span')[0];//获取span列表,取第一个 node.parentNode.removeChild(node);//删除 |
1 2 3 4 | <p> <strong>Hello</strong> how are you doing? </p> |
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
1 2 3 4 5 6 7 | { "name":"张三", "password":"123456", "department":"技术部", "sex":"男", "old":30 } |
1 2 3 4 5 6 7 8 | <?xml version="1.0" encoding="utf-8"?> <user> <name>张三 </name> <password>123456</password> <department>技术部</department> <sex>男</sex> <old>30</old> </user> |
json作为一种数据交换格式,经常应用在数据传输、数据存储(mongoDB)等方面
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问
应用:云输入法
一个JavaScript框架或库实际上是一系列工具和函数,它能更容易产生跨浏览器兼容的JavaScript代码。
zenCoding是一种快速写html/css的软件,只是语法缩写,提高前端工作者的代码书写效率
,加载之后输入zencoding语法,使用Tab做展开快捷键
例如:html:xt>div#id.cls>ul>li*5>a[title="title$"]+img[src='img/$.png']