JavaScript数据类型
JavaScript是一个弱类型的语言,变量通过var生成没有类型,但给它赋值有类型。
- 字符串、数字、布尔、数组、对象、Null、Undefined
- Undefined代表变量没有赋值。
- 数字类型包括整数和小数
- 布尔类型:数字的话等于0为false,不等于0为true。
- 数组符号为 [ ]
- 对象符号为 { }
数字十进制、八进制、十六进制
var num = 100;
var num2 = 010;//八进制
var num3 = 0x1a;//十六进制
//浏览器控制台
console.log(typeof num)//类型
console.log(num2)
console.log(num3)
类型使用
//字符串
var str="成都";
//数字
var num=123;
//布尔
var boo=false;
//数组(数组元素可以是对象)
var arr=[1,23,"成都"];
//数组遍历
for(var i=0;i<arr.length;i++){
}
//对象
var obj={name:"maniy",city:"成都"};
//对象里面还可以写函数(一般很少用,前端框架会这样用)
var user ={userId:1,username:"张三",password:"12345",print:function () {
console.log(this.username+this.password);
}};
//null
var nu=null;
//Undefined
var Undfd;
JSON 结构
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。
json与对象的区别是key必须带引号。
json如果[]开头结尾是集合,{}开头结尾是对象。
var json={"name":"maniy","city":"成都"};
//json数据处理
var json = {
"name": "小号",
"age": "10",
"sex": "男"
};
var key = "name";
console.log(json[key]);
console.log(json.name);
//for-in循环
for (var key in json) {
console.log(key);//json对象中的属性的名字
console.log(json[key]);//json对象中的属性的值
}
这里外加一个JQuery遍历
//$.each()遍历的数组对象,遍历生成的是原生态的dom对象
$.each(mydata,function (i,user) {
console.log(user.username);
})
siNaN()
siNaN()判断字符是不是非数字 是为true 不是为false、
console.log(isNaN(111));
Date()
date的month一月是0,
下面代码可以完整显示时间
var date =new Date();
var year =date.getFullYear();
var month =date.getMonth()+1;
var day=date.getDate();
var hour=date.getHours();
hour=hour<10?"0"+hour:hour;
var minute=date.getMinutes();
minute=minute<10?"0"+minute:minute;
var second=date.getSeconds();
second=second<10?"0"+second:second;
var div1=document.getElementById("div1");
div1.innerHTML=year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second;
setInterval()无限循环函数
//每个一秒调用一次testA
label=setInterval(testA,1000);//一秒循环一次 1000为一千毫秒
clearInterval()停止函数
声明的label变量要在触发循环事件外
clearInterval(label);//停止循环
setTimeout设置延迟时间
//设置延迟时间
var timeout =setTimeout(function () {
//弹出输入框
var message=prompt("请输入你的新作","斗罗大陆");
},2000);
//取消延迟时间
//clearTimeout(timeout);
Math()
常用的四个math函数
random方法随机产生0到0.99999…
Math.random()
Math.floor()向下取整
Math.ceil() /向上取整
Math.round() 四舍五入
Math.floor(Math.random()*11-5);//-5到5整数
简单应用
随机产生一个十六进制的颜色值
//随机产生一个十六进制的颜色值
function getColor() {
var str = "#";
var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
for (var i = 0; i < 6; i++) {
var num = parseInt(Math.random() * 16);
str += arr[num];
}
return str;
}
console.log(getColor());