目录
定义变量要使用关键字 var
JavaScript是一种弱类型的语言但是并不代表它不具备数据类型,只是在不明确指派的情况下,可以表示任意类型的值。
一、使用基本类型
1.字符串类型
"在单引号或双引号之间"的是字符串类型,单双引号没有明显的不同,但是一旦进行嵌套时,必须是匹配的。
var s1 = "Hello";
var s2 = 'Good morning';
2. 布尔类型
只有两个值
var b1 = false;
var b2 = true;
主要用于条件语句
3. 数值类型
var year = 2023;
var month = 7;
var pi = 3.1416;
var value = 0xFFF;//十六进制
二、创建对象
1. new Object()
声明变量----赋值为一个对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
// 创建对象
var student = new Object();
// 给对象属性
student.name = "Jame";
student.age = 12;
// 访问输出对象
console.log(student.name);
console.log(student.age);
</script>
</body>
</html>
2. 使用对象字面量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var student = {
name : "Jame",
age : 12
}
console.log(student.name);
console.log(student.age);
</script>
</body>
</html>
注意:成员与成员之间通过逗号隔开,成员名与值之间用冒号隔开
3. 为对象添加方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var student = {
name : "Jame",
age : 12,
greet : function(){
console.log("My name is " + this.name);
}
}
student.greet();
</script>
</body>
</html>
将函数写在成员值得位置,就可以将成员转换为对象得方法。依旧调用才能执行!!!!
4. 构造函数
反复利用同一段代码创建不同对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
function Student(name,age){
// 自动生成一个 obj对象
// 把添加成员和值
this.name = name;
this.age = age;
this.greet = function(){
console.log("My name is " + this.name);
}
// 返回对象
}
var s1 = new Student("Sam",12);
var s2 = new Student("Jame",13);
s1.greet();
s2.greet();
</script>
</body>
</html>
可用于批量创建对象
三、使用对象
1. 读取和修改属性值
①用句点(.)方法
②用[属性名字符串]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var student = {
name : "Jame",
age : 12
}
// 访问
console.log(student.name);
// 修改
student["name"] = "Sam";
// 访问
console.log(student["name"]);
</script>
</body>
</html>
运行结果:
2. 遍历对象成员
for....in
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var student = {
name : "Jame",
age : 12,
greet : function (){
console.log(this.name);
}
}
for(var pro in student){
console.log(pro + ":" + student[pro]);
}
</script>
</body>
</html>
pro 得到对象的成员名,访问值可以用 对象名[???] 语法进行访问
pro没有明确的类型,依据成员的形式进行灵活变化。
3. 增删属性和方法
添加
通过访问一个不存在在对象的成员名后面给新值就行。
删除 delete 关键字
<script>
delete student.name;
delete student["age"];
</script>
判断是否有某个属性
in关键字
<script>
var student = {
name : "Sam:,
age : 13;
};
var hasName = "name" in student;//true
var hasAge = "age" in student;//true
var hasGreet = "greet" in student;//false
</script>