1.js基础知识
- js是一种脚本语言,一种弱类型语言
- 不需要通过编译,可以通过解释执行器直接运行(浏览器)
- 功能是使HTML具有动态效果
- 在java里 int a = "abc"报错,而js里var a = “abc”;
- 单行注释//
- 多行注释/* -------*/
2.数据类型
1.number 不区分整数型和浮点型
2.boolean true false
3.string unicode编码
4.undefined 当变量未初始化的时候,默认值为underfined
5.null
6.object 对象类型
7.array 数组类型
3.数组
var scores = new Array();
scores[0] = 10;
scores[1] = 20;
scores[2] = 20;
scores[3] = 30;
scores[4] = 40;
3.1.数组赋值
//可以同时声明数组并且同时指定元素的值
var scores2 = new Array(20,30,32,12);
//也可以使用简单的语法声明数组并赋值
var scores3 = [1,3,2,5,2,3];
3.2.数组长度
//数组的长度
document.write("数组长度为" + scores.length + "<br/>")
3.3.字符串数组的排序sort()
//字符串数组的排序
var strs = ["c", "a", "s", "m"];
document.write(strs.sort() + "<br/>");
3.4.字符串的分离split()
var str = "A/B/C/D";
var s = str.split("/");
3.5.数组添加方法push()
3.6.从数组的尾部移除一个元素pop()
var strs = ["c", "o", "a", "d", "e"];
var index = strs.indexOf("o");
strs.splice(index,1);
3.7.forEach()循环数组
var emp = ["zhangsan", "lisi", "wangwu"];
emp.forEach(function(value, index){
document.write(index + " : " + value + "<br />");
})
4.对象
4.1.创建对象
var car = {
brand: "audi",
color: "red",
price: 50000
};
var person1 = {
name: "zhangsan",
age: 18,
sex: "男",
mycar: car,
msg: function(){
alert("姓名:"+ this.name + "年龄: " + this.age + "性别:" + this.sex);
}
};
//通过构造函数方式创建(使用对象构造器) var obj=new 函数名();
var person2 = new Object();
person2.name = "tom";
person2.age = 20;
person2.sex = "男";
person2.msg = function(){
alert("我正在睡觉.");
}
4.2.访问、修改属性
//第一种方式
person1.name = "jack";
person1.age = 20;
person1.mycar.brand = "BMW";
//第二种方式
person1["sex"] = "female";
5.类型转化
5.1.转化成字符串
5.1.1.toString()
var num = 123;
str = num.toString();
document.write("num :" + typeof(str) + "<br />");
5.1.2.string()
var num = 123;
str = num.toString();
document.write("num :" + typeof(str) + "<br />");
5.1.3.拼接字符串
var num2 = 789;
document.write(typeof(num2 + "") + "<br />");
5.2.转化成数值型
5.2.1.parseInt(string,radix)
string:要被解析的值。如果参数不是一个字符串,则将其转换为字符串(toString)。字符串开头的空白符将会被忽略。
radix:可选。从 2 到 36,表示被解析的值的进制。例如说指定 10 就等于指定十进位。
基本用法
<!-- 1.转换为字符串类型 -->
var num = 123;
<!-- .1.tostring() -->
var str = num.toString();
document.write(typeof str+"<br/>");
var num1 = 456;
//调用String方法
document.write(typeof String(num1)+"<br/>");
// 拼接字符串(隐式转换)
var num2 = 345;
document.write(typeof(num2+"")+"<br/>");
<!-- 2.转换成数字型 -->
var num3 = 1.23;
//取整数Integer.parseInt()
var num4 = parseInt(num3);
document.write(num4);
document.write(typeof(num3)+"<br/>");
//取整数
//parseInt()
var num5 = "123.2abc"
document.write(parseInt(num5)+"<br/>");
var num6 = "abc123def" ;
document.write(parseInt(num6)+"<br/>")
//isNaN()
document.write(isNaN(num6)+"<br/>");
//parseFloat()
var num7 = "3.14a";
document.write(parseFloat(num7)+"<br/>");
//Number()
var num8 = Number("abc");
document.write(typeof(num8)+"<br/>");
//字符串转化成Number类型
document.write(Number("123")+"<br/>");
document.write(Number("123a")+"<br/>");
//会转化为0
document.write(Number(" ")+"<br/>");
<!-- 3.转换成布尔类型 -->
var b = 123;
document.write(Boolean(b)+"<br/>");
//如果值为null或者为空,结果为false
document.write(Boolean(null)+"<br/>");
6.日期
var date = new Date();
document.write(date + "<br />");
//年月日
document.write(date.toLocaleDateString() + "<br />");
//时分秒
document.write(date.toLocaleTimeString() + "<br />");
//年月日 时分秒
document.write(date.toLocaleString() + "<br />");
//获取年份
var year = date.getFullYear();
//获取月份
var month = date.getMonth() + 1;
//获取日
var day = date.getDate();
document.write(year +"-" + month + "-" + day + "<br />");
//getDay() 返回一周的某一天数字。注意: 星期天为 0, 星期一为 1, 以此类推。
//分别获取时分秒
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
document.write(hour + "-" + minute + "-" + second);