2021-09-04

仅用于学习

HTML

Hyper Text Markup Language 超文本标记语言
超文本:
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本.
标记语言:
由标签构成的语言。
标记语言不是编程语言

css

css叫做层叠样式表,或者级联样式表,用来控制网页的样式。

  • 使内容与表现完全分离
  • 提高了代码的可重用性和可维护性,一个css文件可以被多个html引入,一个html文件可以引入多个css文件

js

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

脚本语言:不具备开发操作系统的能力,而是要配合其他应用程序来使用。js必须配合浏览器。

ECMAScript

语法基础

  • 一切都区分大小写

  • 标识符

    1. 以字母,下划线,美元符开头
    2. 剩下的可以是字母,数字,下划线,美元符
    3. 尽量采用驼峰命名法规范
  • 注释

    1. //

    2. /*

      ​ */

    1. 严格模式(脚本开始时添加“use strict”)

变量

var let const

声明提升

let暂时性死区

在ES5中,声明变量只有var和function两种形式。但是因为var声明的变量会有一定的缺点(内层变量可能覆盖外层变量的问题以及用来计数的循环变量泄露为全局变量),ES6提出了使用let和const声明变量,更加安全方便的提供我们声明变量。

var

声明变量会保留特殊值undefined

var ximingx;
console.log(ximingx); //undefined

声明变量时可以给它赋值进行初始化

var age = 18;
console.log(age); //18
var声名作用域

函数作用域

使用var定义的变量会成为包含他函数的局部变量

function sc(){
	var school = "山西农业大学";
	console.log(school);//山西农业大学
}
sc();
console.log(school);//error

但是函数内定义省略var会创造全局变量

function sc(){
	school = "山西农业大学";
	console.log(school);//山西农业大学
}
sc();
console.log(school);//山西农业大学
var 变量提升
function sc(){
	console.log(school);//undefined
	var school = "山西农业大学";
}
sc();

let

块作用域

if(true){
	var lover = "none";
	console.log(lover);//none
}
console.log(lover);//none
if(true){
	let lover = "none";
	console.log(lover);//none
}
console.log(lover);//error
let 不允许重复声明
let aw;
let aw;/error
嵌套使用相同的标识符不会报错
var name = "ximingx";
console.log(name); //ximingx
if(true){
	var name = "x";
	comsole.log(name); //x
}
let age = "18";
console.log(age); //18
if(true){
	let age = "0";
	comsole.log(name); //0
}
暂时性死区

let声明的变量不会被提升

let name = "ximingx";
console.log(name); //ximingx
console.log(age); //error
let age = 18;
let 在全局作用域声明的变量不会成为window对象的属性

var在全局作用域声明的变量会成为window对象的属性

let age = 18;
console.log(window.age);//undefined
for 循环中let声明的优势
for(let i = 0;i < 2;i++){
	setTimeout(function(){                            //setTimeout在DOM对象中出现
		console.log(i);//0,1
	},0)
}
for(var i = 0;i < 2;i++){
	setTimeout(function(){
		console.log(i);//1,1
	},0)
}

const

const 声明必须要初始化

修改const变量运行时会出错

数据类型

六种简单数据类型 undefined null string number booleansymbol

复杂数据类型object

typeof

以字符串的形式返回变量的数据类型

let aw;
console.log(typeof aw);//undefined

null 被认为空对象,返回object

undefined

声明了变量但没有初始化后,会被赋给值undefined

但仍需注意

let a;
console.log(a);//undefined
console.log(b);error
console.log(typeof a);//undefined
console.log(typeof b);//undefined

null

let aw = null;
console.log(typeof aw);//object
console.log(null == undefined);//true

boolean

只有两个字面值:true false

其它数据类型可以转换为boolean值

boolean true false
string 非空字符串 “”
number 非零数字 0,NaN
object 对象 null
undefined 不存在的变量 undefined

number

 let number0 = 070;
 let number1 = 079;// 当成79
 //当超出进制范围后会忽略0

浮点数运算会存在误差

Number.MAX_VALUE 最大值

Number.MIN_VALUE 最小值

超出范围后会变为Infinity

NaN意思是不是数值

数值转换

Number()

parseInt()

parseFloat()

DOM

BOM

HTML+CSS+JS

持续更新

上一篇:【vue】this.$refs['box3']._proto_打印结果为undefined


下一篇:8.28面试