初始JS

308 阅读5分钟

JS是什么

  • JS是一种运行在客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能
  • 浏览器就是一种运行JS脚本语言的客户端,JS的解释器被称为JS引擎,为浏览器的一部分

JS 的组成

  • ECMAScript: 定义了JavaScript 的语法规范,描述了语言的基本语法和数据类型
  • DOM (Document Object Model): 文档对象模型
    • 有一套成熟的可以操作 ==页面元素的 API==,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给 div 换个位置等
  • BOM (Browser Object Model): 浏览器对象模型
    • 有一套成熟的可以操作 ==浏览器的 API==,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等
  • API:
    • application programming interface 的简写;
    • 翻译:应用程序编程接口;大白话:别人写好的代码,或者编译好的程序,提供给你使用,就叫作api

js 的三种书写方式

1.行内式:

哈哈哈
2.嵌入式: 3.外链式:

js 定义变量

1.定义变量: 使用一个 var 的关键字进行定义,后面必须加一个空格,空格后面自定义变量名,↓ var aa var bb 2.变量赋值 变量定义之后,初始时没有进行赋值,内部有一个默认存储的值叫 undefined(未定义) 表示内部未赋值,但可以存储数据了 变量赋值的方式:通过等号 = 赋值,等号右边的值赋值给左边的变量 =(等号在 JS 中叫做 赋值号;书写时,等号 = 两侧习惯书写一个空格) 1个变量只能保存一个值,尽量保持先定义后使用

aa = 10 bb = 100 简写:var aa = 10 var bb = 100

变量命名规范

由字母、数字、下划线、$符号组成,不能以数字开头 字母区分大小写 不能是关键字和保留字 * 关键字指的是js中有特殊功能的小词语,比如var、for等 * 保留字指的是现在没有特殊功能,但是将来新语法中有可能作为关键字使用

js 数据类型

  • 数据类型分类(以基本数据类型为主)
    • Number 数字类型
      • 不区分整数、浮点数、特殊值,都是 Number 类型 如:var num = 100
        var num = 123.1
    • String 字符串类型
      • 所有的字符串都是 String 类型 如:var num = '文字文字' var num = '1000万'
    • undefined undefined类型
      • undefined本身就是一个数据,表示未定义,变量只声明不赋值的时候,值默认是 undefined 如:var num = undefined
    • Boolean 布尔类型
      • Boolean 字面量:只有 true 和 false 两个字面量的值,必须是小写字母
      • 计算机内部存储:true 为 1,false 为 0 如:var num = true var num = false
    • null null类型
      • null 本身就是一个数据
      • 从逻辑角度,null 值表示一个空对象指针
      • 如果定义的变量准备在将来用于保存对象,最好该变量初始化为 null var num = null

数据类型检测

  • 为什么要有数据类型检测?
    • JS语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部存储数据的变化,数据类型也会发生变化
    • 变量的数据类型,与内部存储数据有关
    • 将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错
  • 使用 typeof 的方法进行数据检测
    • 检测方式:在 typeof 后面加小括号执行,将要检测的数据放在小括号内部 如: var num = 100 console.log(typeof num) //number

      var num1 = '你好' console.log(typeof num1) //string

      var num2 = true console.log(typeof num2) //boolean

      var num3 = undefined console.log(typeof num3) //undefined

      var num4 = null console.log(typeof (num4)) //object console.log(Object.prototype.toString.call(num4))
      //[object Null]

数据类型转换(转数值 / 转字符串 / 转布尔)

转数值

  1. Number(数据)方法
    • 转型函数Number()可以用于任何数据类型,将其他数据类型转为数字
    • 字符串:纯数字字符串转为对应数字,空字符串和空白字符串转为0,非空非纯数字字符串转为NaN
    • 布尔值:true转为1,false转为0
    • undefined:转为NaN
    • null:转为0 写法:console.log(typeof(Number(num3)),Number(num3)) -0写法:console.log(typeof(num3 - 0), num3 - 0)
  2. parseInt()方法:字符串转整数方法
    • 对浮点数进行取整操作
      • 对数字取整直接舍弃小数部分,只保留整数
    • 将字符串转为整数数字
      • 将字符串转为整数数字,也包含取整功能
    • 字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分
    • 如果不是数字打头的字符串,会转换为NaN 写法:console.log(typeof(parseInt(num3)),parseInt(num3))
  3. parseFloat()方法:字符串转浮点数方法
    • 将字符串转为浮点数数字
    • 满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN 写法:console.log(typeof(parseFloat(num3)),parseFloat(num3))

转字符串

  1. 变量.toString()方法 写法:console.log(typeof(num1.toString()),num1.toString())
  2. String(变量)方法,有些值没有toString(),这个时候可以使用String()。比如undefinednull 写法:console.log(typeof(String(num1)),String(num1))
  3. + 号拼接字符串方式
    • num + “” ,当 + 两边一个操作符是字符串类型,一个操作符是其他类型的时候,会先把其他类型转换成字符串在进行字符串拼接,返回字符串

转布尔

  1. Boolean(变量)方法
    • 转型函数Boolean()可以用于任何数据类型,将其他数据类型转为布尔类型的值
    • 转为false:NaN、0、“”空字符串、null、undefined
    • 转为true:非0 非NaN数字、非空字符串 写法: console.log(typeof(Boolean(num1)),Boolean(num1))