js基础第一天

138 阅读5分钟

js第一天

什么是js

是一种运行在客户端(浏览器) 的编程语言, 实现人机交互

作用

  • 网页特效
  • 表单验证
  • 数据交互
  • 服务端编程

3.js组成

  • ECMAScript

    • 规定了js基础语法核心知识
  • web Api

    • dom 操作dom文档
    • bom 操作浏览器
    • 注意 dom属于bom

添加js

  1. 内部js
  • 直接写在html文件里面 用script标签包住

    • 规范 script标签写在上面
  • 拓展alert('你好,js')页面弹出警示框

  1. 外部js

    • 代码写在以.js文件结尾的文件里

注意: script标签中间无需写代码 会被忽略

  1. 内联 js

    • 代码写在标签内部
    • 此处作为了解 后面vue会用到这种模式

js结束符

  1. 结束符

    • 代表语句结束
    • 英文分号;
    • 可写可不写 (现在不写结束语句的程序员越来越多)
    • 换行符(回车)会被识别成结束语句
    • 因此实际开发中 很多人主张不写结束符号
    • 但是为了风格统一 要写结束符号就每句都写 要么就都不写

js输入输出语法

输出:

  1. document.write('要输出的内容')

    • 向body标签中输出内容
    • 如果输出内容写的是标签,也会被解析

    alert('输出内容')

    • 页面会弹出警示对话框

    console.log('输出内容')

    • 控制台输出的内容 调试的时候使用

    输入:

    prompt('请输入你的名字')

    • 显示一个对话框,对话框中包含一条提示信息,用来提示用户输入问题

字面量

在计算机科学中,字面量(literal)是在计算机中描述 事/物

比如:

➢ 我们工资是: 1000 此时 1000 就是 数字字面量

➢ '黑马程序员' 字符串字面量

➢ 还有接下来我们学的 [] 数组字面量 {} 对象字面量 等等

变量

理解变量是计算机存储数据的容器

变量怎么理解:计算机中用来存储数据的“容器”,简单理解是一个个的盒子。

变量有什么作用: 用来存放数据的。注意变量指的是容器而不是数据。

变量使用

  1. 声明变量

    let 变量名 如果声明一个变量 没有赋值 结果就是undefine

    • 声明变量有两部分构成: 声明关键字、变量名(标识)
    • let即关键字

    举例:

    let age;

    • age就是变量的名称 也叫标识符
  2. 赋值 在变量名后跟上一个 = 然后就是数值

注意:是用过变量名来获取变量里面的数据

2.1 变量赋值:

也可以声明变量的时候同时给变量初始化

例如:

let age = 18

3.更新变量:

变量赋值后,还可以通过简单の给它一个不同的值来更新它

注意: let不允许多次声明一个变量

4.声明多个变量

let name = 'jack' , age = 18;

let不允许重复定义变量

变量的本质

内存: 计算机中存储数据的地方,相当于一个空间

变量:本质是程序在内存中申请的一块用来存放数据的小空间

变量的命名规范

规则:必须遵守,不遵守报错

规范:建议,不遵守不会报错,但不符合业内通识

1.规则:

  • 不能使用关键字

    • 关键字: 有特殊含义的字符,javascript内置的一些英语词汇,例如:;let,var ,if,for等
    • 只能用下划线、字母、数字、$组成,且数字不能开头
    • 字母严格区分大小写,如Age和age是不用的变量

2.规范:

  • 起名要有意义

  • 遵守小驼峰命名法

    • 第一个单词首字母小写,后面每个单词首字母大写。例如userName

变量拓展 let和var的区别

let 和 var 区别: let 为了解决 var 的一些问题

var 声明:

  • 可以先使用 在声明 (不合理)
  • var 声明过的变量可以重复声明(不合理)
  • 比如变量提升、全局变量、没有块级作用域等等。

结论:

以后声明变量我们统一使用 let

数组类型

整体分成两大类:

  • 基本数据类型{

    number 数字型

    string 字符串型

    boolean 布尔型

    undefined 未定义型

    null 空类型

    }

  • 引用数据类型{

    object对象

    function 函数

    array 数组

    }

数据类型 -- 字符串型string

通过单引号( '') 、双引号( "")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别, 推荐使用单引号

注意事项:

  1. 无论单引号或是双引号必须成对使用
  2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
  3. 必要时可以使用转义符 \,输出单引号或双引号

数据类型 -- 字符串型string-拼接字符串

  1. 作用
  • 拼接字符串和变量

  • 没模板字符串之前 拼接比较麻烦

    document.write('大家好,我叫' + name + ',今年' + age + '岁')

    1. 符号

    • ``反引号
    • 在英文输入模式下按键盘tab键上方的那个键
    • 内容拼接变量时,用${}包住变量

    document.write('大家好,我叫 ${name} ,今年 ${age}+岁')

反引号``

${变量 | 表达式}

数据类型-布尔值类型(boolean)

表示肯定或否定时在计算机中对应的是布尔类型数据。 它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

数据类型-未定义类型(undefined)

未定义是比较特殊的类型,只有一个值 undefined。 什么情况出现未定义类型? 只声明变量,不赋值的情况下,变量的默认值为undefined,一般很少直接为某个变量赋值为undefined。

工作中的使用场景:

我们开发中 经常声明一个变量,等待传送过来的数据

如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否 有数据传递过来。

未定义是比较特殊的类型,只有一个值 undefined。 总结使用:

情况说明结果
let age; console.log(age)只声明 不赋值undefined
console.log(age)不声明不赋值 直接使用报错
age = 10;console.log(age)不声明 只赋值10(不提倡)

数据类型 - null(空类型)

null 表示 值为 空

let obj = null

null 和 undefined 区别:

  1. undefined 表示没有赋值

  2. null 表示赋值了,但是内容为空 null

    开发中的使用场景: 官方解释:把 null 作为尚未创建的对象 大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

数据类型-检测数据类型

通过typeof关键字检测数据类型

类型转换

JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。 坑: 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

此时需要转换变量的数据类型。 通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。

隐式转换

某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

规则:

  • +号两边只要有一个是字符串,都会把另外一个转成字符串
  • 除了+以为的算术运算符 比如 - / *等会把数据转成数字类型

缺点:

  • 转换类型不明确

小技巧:

  • +号可以作为正号解析 可以转换成number

显示转换

转换为数字型:

  • Number(数据)

    • 转成数字类型
    • 如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
    • NaN也是number类型的数据,代表非数字
  • parseInt(数据)

    • 只保留整数
  • parseFloat(数据)

    • 可以保留小数

转换为字符型:

  • String(数据)
  • 变量.toString(进制)