基础
- 语法
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个 Web 页面</h1>
<p>我的第一个段落。</p>
<script>
document.write(Date());
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h1>我的第一个 Web 页面</h1>
<p>我的第一个段落。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
document.write(Date());
}
</script>
</body>
</html>
第二个会覆盖整个页面
- 字面量
固定值被称为字面量
字符串字面量可以单引号可以双引号
表达式字面量用于计算 如 5 + 6
数组字面量 [1,3,5,1]
对象字面量{firstName:"Derrick", lastName:"Wang", age:21, beloved:"Autumn"}
函数字面量 function myFunction(a,b){return a * b} - 变量
用var声明 用等号赋值
var x, length
x = 5
length = 6
- 折行
document.write("你
\derrick!");
-
脚本语言的执行
浏览器在读取代码是,逐行地执行脚本,不像java要先编译全部的 -
let变量
function varTest() {
var x = 1;
if (true) {
var x = 2; // 同样的变量!
console.log(x); // 2
}
console.log(x); // 2
}
function letTest() {
let x = 1;
if (true) {
let x = 2; // 不同的变量
console.log(x); // 2
}
console.log(x); // 1
}
一开始觉得var可以重复声明很辣鸡,现在想想编译器不对这些东西负责或许是对程序员的信任 权限越大也就越有操作的空间 如果我们按照一定的开发规范 那么这也不是什么问题
- 数据类型
注意Null和Undefined 不像java默认为null
动态类型(后续看一下这种设计是为了什么)
//声明数组的三种方法
var x; // x 为 undefined
var x = 5; // 现在 x 为数字
var x = "John"; // 现在 x 为字符串
数组
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
//condensed array
var cars=new Array("Saab","Volvo","BMW");
//literal array
var cars=["Saab","Volvo","BMW"];
由于字符串可以使用两种引号,所以另外一种引号可以方便地在字符串中使用
undefined和null
菜鸟教程中有一句可以通过将变量的值设置为null来清空变量 那么可以通过重新声明让变量变成undefined吗(后续看看具体怎么操作内存)
js变量都是对象
- 对象
js的对象是变量的容器(谁不是呢) 或者说是键值对的容器
var person={
firstname : "John",
lastname : "Doe",
id : 5566
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
//对象属性的两种寻址方式
name=person.lastname;
name=person["lastname"];
//后续看下这两种是否涉及底层的去呗
对象的方法作为对象的属性来存储
网友评论