JavaScript总结
一、JavaScript变量
JavaScript是弱变量类型的语言.弱变量类型:定义变量的时候 变量没有具体的类型.当变量被赋值的时候.变量才会有具体的数据类型。
定义变量:在JavaScript中定义所有的变量都使用var.
var a = 1;
var b = "abc";
var c = true;
var d = 'bcd';
如果了解变量的具体类型 那么可以使用 typeof
alert(typeof(a)); // output number
alert(typeof(b)); // output string
alert(typeof(c)); // output boolean
alert(typeof(d)); // output string
注:在JavaScript中 定义字符串可以使用单引号或者双引号。
二、JavaScript基本语法
1. 与html结合方式
1. 内部JS:
* 定义<script>,标签体内容就是js代码
2. 外部JS:
* 定义<script>,通过src属性引入外部的js文件
* 注意:
1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
2. <script>可以定义多个。
2. 数据类型
2.1 原始数据类型(基本数据类型)
- number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
- string:字符串。 字符串 “abc” “a” ‘abc’
- boolean: true和false
- null:一个对象为空的占位符
- undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
2.2 引用数据类型:对象
3. 运算符
3.1 一元运算符
++,--,+(正号),-(负号)
++,--:自增(自减)
++(--) 在前,先自增(自减),再运算。
++(--) 在后,先运算,再自增(自减)。
+(-):正负号
注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
其他类型转number:
string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)。
boolean转number:true转为1,false转为0
3.2 算数运算符
+,-,*,/ ,%
注意:NaN 参与数学运算 结果都为NaN
3.3赋值运算符
= ,+= ,-+....
3.4 比较运算符
> < >= <= == ===(全等于)
比较方式
1. 类型相同:直接比较
* 字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
2. 类型不同:先进行类型转换,再比较
* ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
3. NaN参与的运算,结果都为fasle,除了(!=)
3.5 逻辑运算符
&& || !
其他类型转boolean:
1. number:0或NaN为假,其他为真
2. string:除了空字符串(""),其他都是true
3. null&undefined:都是false
4. 对象:所有对象都为true
3.6 三元运算符
? : 表达式
var a = 3;
var b = 4;
var c = a > b ? 1:0;
语法:
表达式? 值1:值2;
判断表达式的值,如果是true则取值1,如果是false则取值2;
4. 基本对象
4.1 Function对象
1.创建:
1. var fun = new Function(形式参数列表,方法体);
2.
function 方法名称(形式参数列表){
方法体
}
3.
var 方法名 = function(形式参数列表){
方法体
}
2.属性:
length:代表形参的个数
3.特点:
1. 方法定义是,形参的类型不用写,返回值类型也不写。
2. 方法是一个对象,如果定义名称相同的方法,会覆盖
3. 在JS中,方法的调用只与方法的名称有关,和参数列表无关
4. 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
4.调用:
方法名称(实际参数列表);
4.2 String对象
1. 定义方式1: String str=new String("abckdddd");
定义方式2:var str="我爱你爱你";
2. 属性:length: 字符串的长度
3 方法:
charAt() 返回在指定位置的字符。
例子:var v="abcd";
var a=v.charAt(2);
concat() 连接字符串。
例子:var v="ab"; var a="cd";
var z=v.concat(a);
indexOf() 根据字符检索此符在字符串中的索引。
例子:var v="abcde";
var z=v.indexOf("c");
lastIndexOf() 从后向前搜索字符串。
substring() 提取字符串中两个指定的索引号之间的字符。
var v="abcde";
var z=v.substring(0,3); 含头不含尾
toLowerCase() 把字符串转换为小写。
例子:
var str = "Hello World!";
document.write(str.toLocaleLowerCase());
toUpperCase() 把字符串转换为大写。
eplace() 替换字符串。
例子:
var v="abceaaaa";
var z=v.replace("a","h");
参数1:被替换的字符/或字符串
参数2:替换成哪个字符/或字符串
split() 把字符串分割为字符串数组。
例子:
var v="a#b#c#d";
var z=v.split("#");
* trim():去除字符串两端的空格
例子:
var v=" abcd ";
var z=v.trim();
* trimLeft(); 去掉字符串左端空格
* trimRight(); 去掉字符串右端空空格
4.3 Number对象
定义方式:
var num=new Number(555.6666);
var num1=Number(5694);
方法:
toString() 把数字类型转成字符串类型
例子:
var v=Number(695444);
var z=v.toString();
toPrecision() 把数字格式化为指定的长度。也就是小数后面保留几位
例子:
var v=Number(3.5999999999999);
var z=v.toPrecision(4);
4.4 Date对象
1.创建:
var date = new Date();
2.方法:
toLocaleString():返回当前date对象对应的时间本地字符串格式
getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
4.5 Math对象
1. 创建:
* 特点:Math对象不用创建,直接使用。 Math.方法名();
2. 方法:
random():返回 0 ~ 1 之间的随机数。 含0不含1
ceil(x):对数进行上舍入。
floor(x):对数进行下舍入。
round(x):把数四舍五入为最接近的整数。
3. 属性:
PI