js学习笔记

作者: DerrickWang | 来源:发表于2018-06-07 16:14 被阅读0次
基础
  • 语法
    如果在文档已完成加载后执行 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"];
//后续看下这两种是否涉及底层的去呗

对象的方法作为对象的属性来存储

函数
DOM

相关文章

网友评论

    本文标题:js学习笔记

    本文链接:https://www.haomeiwen.com/subject/xrvgsftx.html