程序员人生 网站导航

JavaScript总结

栏目:htmlcss时间:2016-06-22 15:35:05
         JavaScript 是1种面向对象的动态语言,它包括类型、运算符、标准内置( built-in)对象和方法。它的语法来源于 Java 和 C,所以这两种语言的许多语法特性一样适用于 JavaScript。需要注意的1个主要区分是 JavaScript 不支持类,类这1概念在 JavaScript 通过对象原型(object prototype)得到延续(有关 ES6 类的内容参考这里Classes)。另外一个主要区分是 JavaScript 中的函数也是对象,JavaScript 允许函数在包括可履行代码的同时,能像其他对象1样被传递。
    • Number(数字)
    • String(字符串)
    • Boolean(布尔)
    • Symbol(符号)(第6版新增)
    • Object(对象) Function(函数)
    • Array(数组)
    • Date(日期)
    • Math(数学对象)
    • RegExp正则表达式)
    • Null(空)
    • Undefined(未定义)
    • Error(毛病)类型 


1 、number详解
Javascript中采取全浮点计算(双精读64位)
注意 !在某些运算中会出错   eg:0.1 + 0.2 = 0.30000000000000004
我们也能够使用JavaScript提供的Math内置对象,和 内置函数parseInt();
另外JavaScript还提供了parseFloat(),但是它只支持解析10进制数字
在parseInto("123",10)  //123      -->10的含义是10进制
				
parseInt("010", 10); //10
parseInt("010"); // 8 如果没有第2个参数,那末以0开头就是8进制 0x开头就是16进制
parseInt("0x10"); // 16
如何把2进制转为整数值?
parseInt("10011",2);
当第1个参数不是数字型字符串parseInt("hello", 10); // NaN
NaN是1个特殊值 用它与任何数字计算 结果都是NaN
另外  还有两个特殊值  Infinity  和 -Infinity  (正无穷和负无穷)
用内置函数  isFinite()可以判断1个变量是不是为Infinity   -Infinity    NaN

2、字符串
JavaScript中的字符串是1个Unicode字符序列
每个编码单元由1个 16 位2进制数表示。每个Unicode字符由1个或两个编码单元来表示。
				
"hello".charAt(0); // "h"
"hello, world".replace("hello", "goodbye"); // "goodbye, world"
"hello".toUpperCase(); // "HELLO"
"hello".length; // 5
3、其他类型(null 和 undefined) 
null的本质是1个空值,必须使用null关键字才能访问
undefined是1个未定义类型的对象(也是1个对象),它表示1个未初始化的值,也就是还没有被分配值。(JavaScript允许声明变量但不对其赋值,1个未被赋值的变量就是undefined类型)
布尔型:(true / false)其他类型对其转化
flase,0,"",NaN,null,undefined都会在JavaScript需要1个布尔值变量的时候隐式转换为false (其他的都会转化为true)
4、变量
在JavaScript中声明1个变量用var
var a
var name = "simon";
在JavaScript中的语句块中 是没有作用域的
5、运算符
JavaScript的算术操作符包括 +-*/% ——求余(与模运算不同)。赋值使用 = 运算符,另外还有1些复合运算符,如 +=-=,它们等价于 x = x op y
+可以用来连接字符串
				
"3" + 4 + 5; // 345
3 + 4 + "5"; // 75
1 === true; //false
123 === "123"; // false
123 == "123" // true
1 == true; // true
6、控制结构
			
  • if()...else if()...else()
  • while()
  • do...while()
  • for( ; ; )/for( : )
 
			
  1. 短路与:var name = o && o.getName();
  2. 短路或:var name = otherName || "default";
  3. 3元运算符:var allowed = (age > 18) ? "yes" : "no";
  4. 多重分支时可使用 基于1个数字或字符串的switch语句:(switch 的表达式和 case 的表达式是使用 === 严格相等运算符进行比较的:
 
			
				
switch(action) {
case 'draw':
drawIt();
break;
case 'eat':
eatIt();
break;
default:
doNothing();
}
 

			
				
switch(1 + 3){
case 2 + 2:
yay();
break;
default:
neverhappens();
}
7、对象
对象的创建方式:
1.var obj = new Object();
2.var obj = {} --->对象字面量
			
var obj = {
name:"carrot",
"for":"Max",
details:{
color:"orange",
size:12
}
}
  • 可以用链式访问:
            obj.details.color; //orange
  • 可以用中括号访问:
            obj[detail][color];
对象原型:(像是Java中的1个类)
			
function Person(name,age){
			
    this.name = name;
			
    this.age = age;     
			
}
		
创建1个Person的对象:
    var You = new Person("zhangjiahao","23");
可用You.name="ZJH"来赋值
可用var name = You.name;来取值
obj["name"] = "Simon";
<
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐