JavaScript总结
1.JavaScript
1.基础语法
1.注释
2.语句必须以分号结束
3.变量声明的关键字:var 变量名 = '值';
js属于动态类型(同一变量名可以保存不同数据类型的值)
2.数据类型
数值(Number)
JavaScript不区分整型和浮点型,就只有一种数字类型
var a = 12.34;
var b = 20;
var c = 123e5; // 12300000
var d = 123e-5; // 0.00123
还有一种NaN,表示不是一个数字(Not a Number)
parseInt("123") // 返回123
parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456") // 返回123.456
字符串(String)
var a = "Hello"
var b = "world;
var c = a + b;
console.log(c); // 得到Helloworld
常用方法:
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat(value, ...) 拼接
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列
.slice(start, end) 切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割
布尔值(Boolean):
var a = true;
var b = false;
""(空字符串)、0、null、undefined、NaN都是false。
null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
数组
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除元素,并向数组添加新元素。
.map() 返回一个数组元素调用函数处理后的值的新数组
typeof "abc" // "string"
typeof null // "object"
typeof true // "boolean"
typeof 123 // "number"
typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。
对变量或值调用 typeof 运算符将返回下列值之一:
undefined - 如果变量是 Undefined 类型的
boolean - 如果变量是 Boolean 类型的
number - 如果变量是 Number 类型的
string - 如果变量是 String 类型的
object - 如果变量是一种引用类型或 Null 类型的
3.函数
调用函数的时候要往回找函数定义的阶段
4.面向对象
JavaScript分为 ECMAScript,DOM,BOM。
BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。
DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。
变量
声明: var name;
初始化 name = "alex"
变量名的命名规则
变量名由字母,数字,下划线以及$组成。
不要使用下划线或者数字作为变量名的开头。
变量名应该具有一定意义,使用驼峰是命名规则。
不要使用关键字或是保留字。
数据类型
五种基本数据类型
undefined 该类型只有一个值undefined。对未声明和未初始化的变量执行typeof操作符都返回undefined
Null 空引用数据类型 "null" var a = null;
Boolean 布尔类型,取值为 true/false,通常用于条件判断
Number 数字类型。整数/浮点数
String 字符串类型,需要使用单引号或者双引号括起来
引用数据类型
对象(Object)
函数(function)
数组(arr)
类型转换
Boolean()函数
toString()函数
Number()函数 parseInt()
流程控制语句
if(condition){
}else if(condition2){
}else{
}
for(;;){
}
while(){
}
do{
}while()
继承
构造函数中有一个prototype指针,指向原型模型(对象),对象有共同的方法和属性里面还有constructor指向构造函数
对象的实例中__proto__指向原型模型.
继承构造函数原型指向一个实例,就是获得了构造函数所有属性和方法里面的constructor还有__proto__.
属性类型
Object.defineProperty()
var book = { _year :2004,edition:1}
Object.defineProperty(book,"year",{
get:function(){
return this._year;
},
set:function(year){
this._year = _year;
}
});
document.getElementById()
document.getElementByTagName()
document.getElementByName()
document.getElementByClassName()