JavaScript基础Day01:变量和数据类型

一、js简介

​ JavaScript是运行在客户端(浏览器)的编程语言

  • 是一种脚本语言
  • 是一门解释性语言
  • 是一门动态类型语言
  • 是一门基于对象的语言
    ​ (可百度了解js的历史)

二、变量

1. 什么是变量

计算机内存中存储数据的标识符,根据变量名称可以获取内存中存储的数据。

2. 为什么使用变量

方便获取或修改内存中的数据

3. 如何使用变量

//变量声明
var num;
//变量赋值
num = 10;

4. 变量的命名规则

  • 由字母、数字、下划线、$符号组成,不能以数字开头

  • 不能是关键字和保留字,例如:for、while。

  • 区分大小写

    变量名要有意义,并且遵守驼峰命名法,例如:userName、userPassword

demo01:交换两个变量的值

//1.使用临时变量
var num1 = 10;
var num2 = 20;
var temp = num1;
num1 = num2;
num2 = temp;

//2.不使用临时变量,交换两个数值变量的值
num1 = num1 + num2;  //30
num2 = num1 - num2;  //10
num1 = num1 - num2;

三、数据类型

Number、String、Boolean、Null、Undefined、Object

1. Number类型

(1)数值范围

Number.MAX_VALUE //最大值:1.7976931348623157e+308
Number.MIN_VALUE //最小值:5e-324
Infinity     //无穷大
-Infinity    //无穷小

(2)数值判断

NaN:not a number – 不是一个数字(与任何值都不相等,包括它本身)

isNaN:is not a number – 是不是不是一个数值(如果不是一个数值返回true;如果是一个数值返回false)

var num = 10;
var str = "你好";

console.log(num==NaN);      //false
console.log(NaN==NaN);      //false
console.log(str==NaN);      //false
console.log(null==NaN);      //false
console.log(undefined==NaN);      //false

console.log(isNaN(num));    //false
console.log(isNaN(str));    //true
  • 不要用小数验证小数
var x = 0.1;
var y = 0.2;
var num3 = x+y;
console.log(num3==0.3);    //false,里面是存在小数精度问题

2. String类型

  • 字符串

  • 字符串长度:.length

      var str = "hello";
      console.log(str.length);    //5
    
  • 字符串拼接:+

      console.log('hello' + 10);       //hello10
      console.log(10 + 'hello');       //10hello
      console.log('hello' + 'hi');    //hellohi
      console.log(10 + 10);            //20
    
  • 两边只要有一个是字符串,那么+就是拼接功能

  • 如果两边都是数字,那么就是数字功能

3. Boolean类型

  • 布尔类型:返回值是true或者false,区分大小写
  • 计算机内部储存对应是0或1

4. Undefined和Null类型

  • undefined表示一个声明了但是没有赋值的变量
  • null表示空,需要手动设置

demo02:获取变量的类型 —— typeof

var num = 10;
var str = "hello";
var flag = true;
var und;
var nul = null;  

console.log(typeof(num));      //number
console.log(typeof(str));      //string
console.log(typeof(flag));     //boolean
console.log(typeof(und));      //undefined
console.log(typeof(nul));      //object

四、注释

  1. 单行注释://
  2. 多行注释:/* */

五、类型转换

1. 其他类型转数字类型

  • 整数型:parseInt()

    console.log(parseInt("10abc"));     //10
    console.log(parseInt("10.12abc"));  //10
    console.log(parseInt("abc10"));     //NaN,开头不是数字的不解析
    
  • 浮点型:parseFloat()

    console.log(parseFloat("10abc"));       //10
    console.log(parseFloat("a10bc"));       //NaN
    console.log(parseFloat("10.12abc"));    //10.12
    console.log(parseFloat("abc10"));       //NaN
    
  • 数值类型:Number()

    Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN
    
  • +,-,-0等运算

    var str = "500";
    console.log(+ str);     //500
    console.log(- str);     //-500
    console.log(str - 0);   //500
    

2. 其他类型转字符串类型

  • toString()

    var num = 10;
    var num1 = 10.1;
    var flag = true;
    var und;
    var nul = null;
    console.log(num.toString());      //10
    console.log(num1.toString());     //10.1
    console.log(flag.toString());     //true
    console.log(und.toString());      //出错
    console.log(nul.toString());      //出错
    
  • String()

    var num1 = 10.1;
    var str = "500";
    var flag = true;
    var und;
    var nul = null;
    console.log(String(num1));      //10.
    console.log(String(str));       //500
    console.log(String(flag));      //true
    console.log(String(und));       //undefined
    console.log(String(nul));       //null
    

区别:String()可以用于无意义的类型转换,比如undefined、null

3. 其他类型转布尔类型

  • Boolean()

    var num = 10;
    var num1 = 10.1;
    var num2 = 10.123;
    var str = "500";
    var flag = true;
    var und;
    var nul = null;
    
    console.log(Boolean(num));      //true
    console.log(Boolean(num1));     //true
    console.log(Boolean(num2));     //true
    console.log(Boolean(str));      //true
    console.log(Boolean(flag));     //true
    console.log(Boolean(und));      //false
    console.log(Boolean(nul));      //false
    

六、操作符

  1. 算术运算符:+ - * / %
  2. 一元运算符:只有一个操作数的运算符,++ --
  3. 逻辑运算符:与、或、非,&& || !
  4. 关系运算符:< > >= <= == != === !==
  5. 赋值运算符:= += -= *= /= %=
  • 运算符的优先级(优先级从高到低)
      1. () 优先级最高
      1. 一元运算符 ++ – !
      1. 算数运算符 先* / % 后 + -
      1. 关系运算符 > >= < <=
      1. 相等运算符 == != === !==
      1. 逻辑运算符 先&& 后||
      1. 赋值运算符

说明:文章是笔记类型,如果有问题欢迎留言~~~
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值