JS学习笔记(二)

2021.1.12

文章目录

  • JS学习笔记(二)
    • JS变量初学
    • 数据类型
      • 1.1 为什么需要数字类型
      • 1.2 变量的数据类型
      • 1.3 数据类型的分类
        • 简单数据类型
        • 复杂数据类型(object)
    • JS运算符
      • 1.运算符
      • 2.算数运算符
      • 3.递增和递减运算符
      • 4.比较运算符
      • 5.逻辑运算符
        • 短路运算(逻辑中断)
      • 6.赋值运算符
      • 7.运算符优先级

JS学习笔记(二)

JS变量初学

变量的本质: 程序在内存中申请的一块用来存放数据的空间。
变量的使用: 1. 声明变量;2. 赋值。

var age;//声明一个名称为age的变量。
var: 一个JS的关键字。使用该关键字声明变量后,计算机会自动为变量分配内存空间。
声明一个变量并赋值,称之为变量的初始化

可以同时声明多个变量,只需写一个var,多个变量名之间使用英文逗号隔开。
声明变量的特殊情况:

  • 只声明不赋值
    结果是undefined.//未定义的
  • 不声明不赋值
    报错
  • 不声明,直接赋值
    可以使用,但是不推荐

命名规范:

  • 由字母、数字、下划线、美元符号组成。
  • 严格区分大小写。
  • 不能以数字开头。
  • 不能是关键字,保留字。如:var、for、while
  • 变量名必须要有意义。
  • 遵循驼峰命名法。首字母小写,后面单词的首字母需要大写。如:myFirstName
  • name不是关键字也不是保留字,但是一般不使用。

数据类型

1.1 为什么需要数字类型

计算机中,不同的数据所需占用的存储空间是不同的。为了便于吧数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。

1.2 变量的数据类型

  • JavaScript是一种弱类型语言或者说是动态语言。
  • 这意味不用提前声明变量的类型,在程序运行过程中,类型会根据变量等号右边的值来自动确定。
  • JavaScript拥有动态类型,意味着相同的变量可用作不同的类型。

1.3 数据类型的分类

JS把数据类型分为两类:

简单数据类型

  • Number
    • 数字型
    • 包含整型值和浮点型值,如21、0.21
    • 默认值是0
    • 数字型进制
      • JS中八进制前面加0
      • 十六进制前面加0x
    • 数字型范围
      • 最大值:Number.MAX_VALUE,这个值是:1.797……e+308
      • 最小值:Number.MIN_VALUE,这个值是:5e-324
    • 数字型三个特殊值
      • Infinity,代表无穷大,大于任何数值
      • -Infinity,代表无穷小,小于任何数值
      • NaN,Not a number,代表一个非数值
    • isNaN()方法:用来判断一个变量是否为非数字的类型,返回true或者false
  • Boolean
    • 布尔值类型
    • 如true、false,等价于1和0
    • 默认值是false
  • String
    • 字符串类型
    • 如:‘张三’,在js里面,字符串都带引号
      因为HTML标签里面的属性使用的是双引号,JS更推荐使用单引号
    • 默认值""
    • 字符串引号嵌套
      JS中可以用单引号嵌套双引号,或者用双引号嵌套单引号。fu
    • 字符串转义符
      • \n,换行符,newline
      • \\,斜杠\
      • \’,单引号’
      • \",双引号"
      • \t,tab缩进
      • \b,空格,blank
    • 字符串长度
      字符串由若干字符组成,这些字符的数量就是字符串的长度。
      通过字符串的length属性可以获取整个字符
    • 字符串拼接
      • 使用加号+进行拼接,字符串+任何类型=拼接后的新字符串
      • 拼接前会把与字符串相加的任何类型转成字符串,再拼接一个新的字符串
      • 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值。变量和字符串相连的口诀:引引加加。
  • Undefined
    • var a;
    • 声明了变量a但是没有给值,此时a=undefined
    • 默认值是undefined
    • undefined+“字符串”=字符串"undefined字符串"
    • undefined+数字=NaN
  • Null
    • var a=null;
    • 声明了a为空值
    • 默认值为null

小tip:要输入console.log(),直接输入log敲回车。

获取检测变量的数据类型: typeof可用来获取检测变量的数据类型

var num=10;
console.log(typeof num);//number

Note:

  1. var timer=null;
    console.log(typeof timer);//是object
  2. prompt取过来的值是字符型的
  3. 每种数据类型在控制台的颜色不同,黑色的是字符串,蓝色的是数字,深蓝色的是布尔型,浅灰色的是undefined和null

字面量: 字面量是源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值

  • 数字字面量:8,9,10
  • 字符串字面量:‘库布里克’,'大前端‘
  • 布尔字面量:true,false

数据类型转换:
使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。

  • 转换为字符串
    • toString()

      var num=1;
      var str=num.toString();
      console.log(typeof str);//也可以直接输出str通过颜色判断

    • String()强制转换

      var num=1;
      console.log(typeof String(num));

    • 加号拼接字符串//也称隐式转换

      var num=1;
      alert(num+“我是字符串”);

  • 转换为数字型(重点)
    • parseInt(string)函数
      如parseInt(‘78’);//注意小数会取整,120px会去掉单位
    • parseFloat(string)函数
      如parseFloat(‘78.21’);//前两种方法是重点。
    • Number()强制转换函数。
    • 利用算数运算符- * / 进行隐式转换
      如:console.log(‘12’-0);
  • 转换为布尔型
    • Boolean()函数。
      如:Boolean(‘true’);
      • 代表否定的值会被转换成false,如:" 、0、NaN、null、undefined"
      • 其余值都会被转换为true

复杂数据类型(object)

JS运算符

1.运算符

运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。

2.算数运算符

  • 加减乘除取余。
  • 浮点数直接参与运算会出问题。
  • 我们不能直接那浮点数来进行比较是否相等。
  • 有优先级。

3.递增和递减运算符

  • ++和–
  • 分为前置/后置递增(减)运算符。//注意区别

4.比较运算符

也称关系运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算的结果。

  • ===表示全等,要求值和数据类型都一致。
  • ==判断是否相等,会默认转换数据类型。
    如:console.log(18==‘18’);//返回true。

5.逻辑运算符

逻辑运算符(&&、||、!)是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中常用于多个条件的判断。

短路运算(逻辑中断)

  1. 逻辑与
    • 语法:表达式1&&表达式2
    • 如果第一个表达式为真,则返回表达式2
    • 如果第一个表达式为假,则返回表达式1
    • 例如:console.log(123&&456);//输出结果是456
  2. 逻辑或
    • 语法:表达式1||表达式2
    • 如果第一个表达式为真,则返回表达式1
    • 如果第一个表达式为假,则返回表达式2

6.赋值运算符

=、+=、-=、*=、/=、%=

7.运算符优先级

  • 小括号>一元运算符>算数运算符>关系运算符>相等运算符(==、!=、===、!==)>逻辑运算符>赋值运算符>逗号运算符。
  • 逻辑运算符中也有优先级,先&&后||。
  • 一元运算符里面的逻辑非优先级很高。
  • 赋值运算符优先级是除逗号运算符之外最低的

你可能感兴趣的:(前端,javascript,html)