这是我参与「第四届青训营 」笔记创作活动的第4天
一、JavaScript是什么?
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
-
是一门脚本语言
-
是一门“对象模型”语言 语言
- 是一门动态类型的语言
-
二、js三个部分
1.ECMAScript标准 --- js基本语法
2.DOM --- Document Object Model 文档对象模型
3.BOM --- Browser Object Model 浏览器对象模型
-
作用:解决用户&浏览器之间的交互问题
-
js代码的书写
1.在html标签里面写
2.创建script标签,在双标签中写js代码,暂时放在的前面
3.创建外部js文件,需要script标签中的src="js文件路径"导入进来
- 注意:
1.script标签可以写很多对
2.在一对script标签中,有错误代码,那么该错误代码后面的内容不会执行
3.在一对script标签中,有错误代码,不会影响后面script标签中js执行
4.在script标签中有一个属性,type="text/javascript",可省略
5.在HTML中所放位置也是会有影响的:(1)放置在标签中,由于 HTML 文档是由浏览器从上到下依次载入的,JavaScript无法从标签中获取所需要的元素,就会出现DOM还未被页面渲染,JavaScript无法执行的情况。(2)放置在标签中,如果需要和网页元素互动的,需要将
三、走进js
-
基础知识简述
-
使用格式:
-
注释:// 单行注释 Ctrl+/, /* Shift+Alt+A 多行注释 Ctrl+Shift+/ *
-
变量:计算机内存中存储数据的标识符,操作的数据都是在内存中操作的
作用:用来存储和操作数据的
使用变量存储数据的方式:var 变量名 = 存储的数据
变量初始化:有var 有变量名 有值
变量的声明:有var 有变量名
var 声明变量
特点 变量声明提升,可以重复声明,局部变量会覆盖全局变量
作用域为全局作用域和函数作用域,没有块级作用域
变量提升:
变量提升,很简单,就是把变量提升提到函数的top的地方。
变量提升 只是提升变量的声明,并不会把赋值也提升上来。
ES6:
let 不允许变量提升,也不允许重复声明,增加了块级作用域
const 常量,声明时必须赋值
// 声明 var number; var a, b, c, d; // 赋值 number = 10; console.log(number); alert(number);
- 字符串
-
字符串就是零个或多个排在一起的字符,放在单引号或者双引号之中。
-
单引号字符串内部可以使用双引号,双引号字符串内部可以使用单引号。
-
如果要在单引号字符串内部使用单引号,就必须在内部的单引号前面加上转义符(反斜杠\),双引号亦然。
-
字符串默认只能写在一行,分成多行就会报错
-
连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候是单行
-
字符串可以被视为字符数组,可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)
如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined
字符串与数组的相似性仅此而已,实际上,无法改变字符串之中的单个字符
-
5.对象
调用系统的构造函数来创建对象 var obj = new Object();
添加/设置属性:对象.属性名 = 值;
添加/设置方法:对象.方法名 = 匿名函数;
数据存储形式:键值对
var obj = new Object();
console.log(obj);
// 属性
obj.name = "强哥";
obj.age = 16;
// 方法
obj.job = function() {
console.log("砍树");
}
// 输出对象中的属性
console.log(obj.name);
console.log(obj.age);
// 对象中的方法调用
obj.job();
-
面向对象编程
- 在javascript中不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。
- 通过class
总结
今天先对js进行初步的讲述,关于其后续的简述后续再说。时间仓促,若有不对的地方,请大家批评指正。