走进JavaScript的世界|青训营笔记

113 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的第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

  • 基础知识简述

  1. 使用格式:

  2. 注释:// 单行注释 Ctrl+/, /* Shift+Alt+A 多行注释 Ctrl+Shift+/ *

  3. 变量:计算机内存中存储数据的标识符,操作的数据都是在内存中操作的

    作用:用来存储和操作数据的

    使用变量存储数据的方式:var 变量名 = 存储的数据

    变量初始化:有var 有变量名 有值

    变量的声明:有var 有变量名

    var 声明变量

    特点 变量声明提升,可以重复声明,局部变量会覆盖全局变量

    作用域为全局作用域和函数作用域,没有块级作用域

    变量提升:

    变量提升,很简单,就是把变量提升提到函数的top的地方。

    变量提升 只是提升变量的声明,并不会把赋值也提升上来。

    ES6:

    let 不允许变量提升,也不允许重复声明,增加了块级作用域

    const 常量,声明时必须赋值

            // 声明
            var number;
            var a, b, c, d;
            // 赋值
            number = 10;
            console.log(number);
            alert(number);
    
  1. 字符串
  • 字符串就是零个或多个排在一起的字符,放在单引号或者双引号之中。

    • 单引号字符串内部可以使用双引号,双引号字符串内部可以使用单引号。

    • 如果要在单引号字符串内部使用单引号,就必须在内部的单引号前面加上转义符(反斜杠\),双引号亦然。

    • 字符串默认只能写在一行,分成多行就会报错

    • 连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候是单行

    • 字符串可以被视为字符数组,可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从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();
  • 面向对象编程

  1. 在javascript中不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。
  2. 通过class

总结

今天先对js进行初步的讲述,关于其后续的简述后续再说。时间仓促,若有不对的地方,请大家批评指正。