1.typeof() 判断数据类型
2.undefined 定义了变量,没有给变量赋值,变量在内存中是存在的
3.null 在内存是找不到这个变量
4.一个数字类型和一个字符串相加,得到的是一个字符串。
5.一个数字类型和一个数字字符串相减,得到的是一个数字类型。
6.一个数字类型和一个数字字符串相除,得到的是一个数字类型。
7.Date对象
(1)Math.ceil(num) 天花板函数 向上取整
(2)Math.floor(num) 地板函数
(3)Math.max(num1,num2);
(4)Math.min(num1,num2);
(5)Math.pow(num1,num2); //num1的num2次方
(6)Math.round(num) //进行四舍五入
(7)Math.random() //返回0-1之间的随机数
8.数据类型的转换
(1)数字类型转字符串
var n1 = String(n1);
var n2 = n2.toString();
(2)字符串转数字类型
var n1 = Number(n2); //小数类型的字符串,转换之后得到的是原数字。
var n5 = parseInt(n6); //小数类型的字符串,转换之后取整。数字开头的字符串,转换之后得到的是前边的数字
(3)布尔值
var n5 = Boolean(n7);
//数字和字符串转完之后为true。
//undefined、null、0转完之后为false.
9.等号运算符
(1)“=”赋值运算符
(2)“==”只判断内容是否相同,不判断数据类型。
(3)“===”不仅判断内容,还判断数据类型是否相同。
(4)!= 只判断内容是否不相同,不判断数据类型。
(5)!==不全等于 不仅判断内容是否不相同,还判断数据类型是否不相同。
10.数组
(1)定义
var ary = new Array() ;//通过创建对象的方式创建数组
var ary1 = [] ; //直接创建一个数组
(2)数组合并—-使用concat方法合并数组
var ary1 = [1,2,3,4,5];
var ary2 = [2,3,4,5];
//数组的合并
var ary3 = ary1.concat(ary2);
(3)Join方法返回一个字符串数组
var ary1=[1,2,3,4];
var ary2=ary1.join("&");
alert(ary2);
alert(typeof(ary2)); //返回数据类型
1.查看数据类型
var a = 1 ;
console.log(typeof (a));
2.NaN : 非数值 isNaN()
3.任何数据类型和undefined运算都是NaN;
任何值和null运算,null可看做0运算。
4.任何简单类型转换成String
(1)变量 + “” 或 变量 + “abc”
(2)String(变量)
(3)变量.toString()
5.任何简单类型转换成Number
(1)Number(变量)
(2)parseInt(变量)和parseFloat(变量)
6.三元运算符: 值1?值2:值3;
7.数组的定义
(1)var arr = [1,2,3] ;
(2)var arr = new Array(2) ;
var arr1 = new Array(1,2,3);
8.打印函数名,就等于打印整个函数 console.log(fn);
打印执行函数,就等于打印函数的返回值 console.log(fn());
9.函数的定义
(1)function fn1(){ }
(2)var fn2 = function(){} //匿名函数
(3)var fn3 = new Function();
10.定时器
setInterval(finction() {
console.log(444);
},1000);
11.回调函数 函数作为参数
fn(test);
function fn(demo){
demo();
}
function test(){
console.log("11");
}
12.自定义对象
var student = new Object();
student.name = "张三";
student.sayHi = function(){
console.log(this.name + "说:大家好";
}
console.log(student.name);
student.sayHi();
13.this
(1)谁调用函数,this就是指是谁
14.构造函数
var stu1 = new Student("王五");
var stu2 = new Student("张三");
function Student(name){
this.name = name ;
this.sayHi = function(){
console.log(this.name+"说:大家好");
}
}
stu1.sayHi();
15.属性绑定
var stu = new Object();
var aaa = "age";
stu.name = "张三";
stu[aaa] = 20 ; //为stu添加属性 age = 20 ;
stu[0] = "你好"; //为stu添加属性 0 = "你好";
16.直接创建对象 : 对象的字面量
var obj1 = new Object();
var obj2 = {aaa:obj1,name:"张三","age":14,sayHi:function(){
console.log(1);
}
obj2.sayHi();
17.json和对象(对象字面量)的区别仅仅在于,json的key键值对中的键必须带有“”
var json = {"name":"拴住","age":18,"arr":[1,2,3]};
18.对象本身没有length,所以不能用for循环遍历 ,要用for。。。in…循环
var aaa = {"name":"拴住","age":18,"arr":[1,2,3]};
for(var k in aaa){
console.log(k);
//aaa.k代表aaa这个对象的k属性的值,并不是k对应的变量值的属性。
//console.log(aaa.k);
//aaa[k],代表的是aaa这个对象中k这个变量值对应的属性值。
console.log(aaa[k]);
}
19.制作一个json
// 制作一个json,然后
var json = {};
//console.log(json);
for(var i=1;i<10;i++){
json[i] = i*10;
}
console.log(json);
for(var k in json){
//console.log(json[k]);
}
20.数组
(1)join是把数组元素用特殊方式链接成字符串(参数决定用什么链接,无参默认用逗号链接)
var str1 = arr.join();
(2)在数组的最末尾添加元素(返回新数组的长度)
var aaa = arr.push("abc");
(3)在数组的最末尾删除一个元素(返回新被删除的元素)
aaa = arr.pop();
(4)unshift在数组的最前面添加元素
aaa = arr.unshift("abc");
(5)反转数组
var aaa = arr.reverse();
(6)数组排序:sort(功能很强大!能对数字和字母进行排列。)
arr.sort()
(7)concat把数组链接在一起
var arr3 = arr1.concat(arr2);
(8)indexOf从前往后给元素查索引,找到一个后,立刻返回
arr.indexOf("a")
(9)lastIndexOf从后往前给元素查索引,找到一个后,立刻返回。
arr.lastIndexOf("a")