JS笔记(二)变量、数据类型

字面量:即常量,有数字、字符串、布尔字面量三种
标识符:即变量名、函数名、属性名、参数名,就是写代码时起的名字。
 
1、申明变量:
    JS使用“变量”来存储数据,变量是计算机内存中存储数据的标识符,根据变量名称可以获得内存中存储的数据。
 
 JS中声明变量用var,存储数据有数据对应的数据类型(var 是ES5,let(变量)、const(常量)是ES6)
        声明变量和初始化:var  name="小黑"
        //存储一个对象       var  ohj = new Object();
 
规范:js每行代码结束都要加分号;
          js中区分大小写;
          js中声明变量时,字符串类型的值要用双引号或者单引号括起来;
          变量名字要有意义;
          变量名规范:以字母、$ 、_开头,后面是$、字母或者数字。一般小写。驼峰命名。不以数字开头;不能使用关键字;
          不能使用关键字。
 
 
2、变量的交换
        (1)var num1 = 10
                 var num2 = 10
                 var temp = num1;
                 num1 = num2;
                 num2 = temp;
        (2)用于数字交换
                var num1 = 10;
                var num2 = 20;
                num1 = num1+ num2;  //30
                num2 = num1-num2;  //10
                num1 = num1-num2;  //20
        (3)
                var num1 = 10;
                var num2 = 20;
                num1 = num1 ^ num2;
                num2 = num1 ^ num2; //10
                num1 = num1 ^ num2; //20
 
 
3、变量的数据类型
    JS中原始数据类型(6种):number,string,boolean,null,undefined,object对象(引用数据类型)
    (注:内置对象function、Array、Date、Error等属于Obiect类型)
    (注:基本数据类型传递的是数值,引用数据类型在参数赋值时传递的是地址)
    (注:变量都是保存在栈内存中,基本数据类型的值直接保存在栈内存,对象保存在堆内存中,而变量保存了对象的内存地址,即对象的引用。)
 
    (1)number:数值类型(包括整数和小数,而小数在其他语言中叫浮点型,分为单精度float四个字节存储和双精度double八个字节存储,整数是int)
            一个特殊数字:NaN,not a number非数值,undefined+数字输出得到NaN
    (2)string:字符串类型,用‘’或者“”括起来
    (3)boolean:布尔类型(true真1,false假0)
    (4)null:空类型,变量的值如果想要变成null,必须手动设置,用typeof检查null类型为undefined
    (5)undefined:未声明(定义),或声明变量没有赋值时结果是undefined,函数没有明确返回值时接收了也是undefined
            注:10+null =10; 10 + undefined = NaN
    (6)object:对象
 
 
4、js中String类型:
    使用单引号或者双引号。
    字符串长度是多少:console.log(str.length);
    (注:字符串有不可变性
        var  a = '我的';   a = '你的';
        字符串里面的值不会被改变,看上去值变了,其实内存中新开辟了一个内存空间)
 
(1)转义符:用于在String数据中显示符号
    html中的转义符:< &lt;  >  &gt;  空格 &nbsp;
    js中字符串转义符:\t  tab键;  \\中间有一个\   \"  \'
 
(2)字符串拼接:用+号。
    如果一个是字符串,另一个是数字,用+是字符串的拼接,用-会发生计算,叫隐式转换。
    例子1:
    例子2:
 
 
5、获取变量的数据类型:
var num = 10;
console.log(typeof num);  //number
var nll = null; 此时nll是个对象
 
一些返回结果:
        (typeof function)//function
        (typeof null)//object,null代表空对象
        (typeof undefined)//undefined
        (typeof NaN)//number,NaN是一个特殊的数字
        (typeof []) //object,[]是引入数据类型
        (typeof {}) //object,{}是引用数据类型
 
数据类型有范围:最大值和最小值
    console.log(Number.MAX_VALUE);//数字最大值
    console.log(Number.MIN_VALUE);//数字最小值
   (注:不要用小数去验证小数,sum=0.1+0.3 == 0.3。也不要用NaN验证NaN,用isNaN(num) )
 
 
6、类型转换:
(1) //其他类型转数字类型:三种方式
            1)转整数:parseInt();  取整,不四舍五入
                 console.log(parseInt("10a")); 结果10,g10转不了是NaN
            2)转小数:parseFloat();  
                 console.log(parseFloat("10agg")); 结果10,g10转不了是NaN
            3)转数字:Number();
                 console.log(Number("10agg")); 结果NaN,g10是NaN
 
        //其他类型转字符串类型
            1).toString(); -- var num = 10; console.log(num.toString()); 变字符串类型
            2)String();  -- var num1 = 10; console.log(String(num1)); 变字符串类型
            3)隐式转换:--var a = 123; console.log(a + '')
            注:如果变量有意义用.toString();转换  ;  
                  没有意义用String(); 如var num2; num2没有赋值就没意义,转为undefined。
 
        //其他类型转布尔类型
            1) Boolean(值);  -- console.log(Boolean(1)); 结果true ;
                                         console.log(Boolean(undefined); 结果false
 
(2)隐式类型转换:
    isNaN();  //判断指定参数是否是NaN非数字类型,返回结果为Boolean类型
    自增/自减运算符:++、--    如:var  a = "666"; a++;  console.log(typeof a);  //number
    正号/负号:+a、-a
    加号:+
    运算符:-、*、/
    逻辑运算符:&&   ||  ! 。 
    关系运算符:<   >   <=   >=
 
 
7、整数和负数:
 
 
 
 
 
posted @ 2020-08-05 10:29  kalends  阅读(176)  评论(0编辑  收藏  举报