zoukankan      html  css  js  c++  java
  • JavaScript-----4.数据类型

    1.变量的数据

    变量用来存储值的所在处,有名字和数据类型。变量的数据类型决定将如何代表这些值的位存储到计算机内存中。JavaScript是一种弱类型或者说是动态语言。不用提前声明变量的类型,在程序运行中变量会被自动确定。

    var age;//不确定类型
    age = 10;//确定位整型
    

    而javaC中是

    int age = 10;//直接确定为整形
    

    python中可以 不用声明

    age = 10;
    

    JavaScript拥有动态类型,同时也意味着相同的变量可以用作不同的类型

    var x = 6;//x为数字
    var x = "Bill"; //x为字符串
    

    2.数据类型的分类

    JS的数据类型分:简单数据类型(Number,String,Boolean,Underfined,Null)和复杂数据类型(object)

    2.1简单数据类型

    2.1.1 Number:数字型包括整形值和浮点型值,默认值是0

    (1)进制

    var num = 10; //num数字型
    var PI = 3.14;//PI数字型
    
    //八进制:0~7程序里数字前加0表示8进制数字
    var num1 = 010;
    console.log(num1);//打印输出的是8
    var num2 = 012;
    console.log(num2);//打印输出10
    
    //十六进制:0~9 a~f程序里数字前加0x表示16进制数字
    var num3 = 0x9;
    console.log(num3);//打印输出的是9
    var num4 = 0x12;
    console.log(num4);//打印输出的是18
    

    (2)数字型范围
    JavaScript中数值的最大值(Number.Max_VALUE)和最小值(Number.MIN_VALUE)
    Number.Max_VALUE: 1.7976931348623157e+308
    Number.MIN_VALUE: 5e-324
    Inifit:无穷大,大于任何数值
    -Infint:无穷小,小于任何数值
    NaN: not a number,代表一个非数值(例如字符串与某个整数进行加减运算)

    (3)isNaN()
    用于判断一个变量是否为非数字类型,如果是数值返回false,如果是非数字返回true

    //isNaN()用这个方法用来判断非数字,并且返回一个值,如果是数字则返回false否则返回true
    console.log(isNaN(12));//false
    console.log(isNaN('pink 老师'))//true
    

    2.1.2 String:字符串类型,默认值是空字符串""

    (1)引号可以是单引号也可以是双引号,推荐在JS中用单引号(html中用双引号)
    (2)转义字符
    : 换行
    : 斜杠
    ': 单引号'
    ": 双引号"
    : tab缩进
    : 空格(b是blank的意思)

    (3)字符串长度及拼接
    length属性用于获取字符串的长度:

    //检测字符串长度length
    var str = 'my name is andy';
    console.log(str.length);
    

    利用'+'进行字符串的拼接,口诀:数值相加,字符相连:

    console.log('沙漠'+'骆驼');//沙漠骆驼
    
    //字符型和其他类型进行拼接最后的结果还是字符串型的
    console.log('pink老师'+18);//pink老师18
    console.log(18+'pink老师');//18pink老师
    console.log(true+'pink');//truepink
    console.log('12'+12);//1212
    //但是以下就不是拼接
    console.log(12+12);//24
    

    字符串拼接加强:

    var age = 18;
    console.log('pink老师'+age+'岁');
    

    案例:

    //弹出一个输入框,需要用户输入年龄,之后弹出一个警示框显示“您今年xx岁啦”
    age = prompt('请输入年龄');
    alert('您今年岁'+age+'啦');
    

    2.1.3 Boolean:布尔值类型如true,false,默认值false

    var flag = true;
    var flag1 = false;
    console.log(flag+1);//2
    console.log(flag1+1);//1
    

    2.1.4 Undefined

    var a;声明了变量但是没有给值,此时a=underfined,默认值underfined

    //如果一个变量声明但是未赋值 就是underfined未定义数据类型
    var str;
    console.log(str);//undefined
    var variable = undefined;
    console.log(variable);//undefined
    console.log(variable+'pink');//undefinedpink     字符串类型
    console.log(variable+1);//NaN  undefined和数字相加最后的结果是NaN
    console.log(variable+true);//NaN
    

    2.1.5 Null:

    var a=null;声明了变量a为空值

    //null
    var space = null;
    console.log(space);
    console.log(space+'pink');//nullpink
    console.log(space+1);//1
    

    3.获取变量的数据类型

    3.1 typeof

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

    var num = 10;
    console.log(typeof num);//number
    var str = 'pink';
    console.log(typeof str);//string
    var flag = true;
    console.log(typeof flag);//boolean
    var vari = undefined;
    console.log(typeof vari);//undefined
    var timer = null;
    console.log(typeof timer);//object
    

    利用typeof验证prompt取过来的值的类型

    age = prompt('请输入您的年龄');
    console.log(age);//18
    console.log(typeof age);//string
    

    3.2 console

    除了可以用typeof来检测变量属于哪一种类型还可以通过浏览器控制台console的颜色来判断属于哪一种数据类型

    console.log(18);//数字型 纯蓝色
    console.log('18');//字符型 黑色
    console.log(true);//布尔型 墨蓝色
    console.log(undefined);//浅灰色
    console.log(null);//浅灰色
    

    3.3 字面量

    字面量是在源代码中一个固定值的表示方法,通俗来说就是字面量表示如何表达这个值
    数字字面量: 8,9,10
    字符串字面量: '黑马程序员','大前端'
    布尔字面量:true,false

    4. 数据类型转换

    4.1 什么是数据类型转换

    使用表单(input)、prompt获取过来的数据默认是字符串类型,此时就不能直接简单地进行加法运算,而需要转换变量的数据类型,通俗来说就是把一种数据类型变量转化成另一种数据类型。
    常用的3种方式的转换:

    • 转换为字符串类型
    • 转换为数字型
    • 转换为布尔型

    4.1.1 转换为字符串类型

    var num = 10;
    
    //1. 把数字型转换成字符串  格式:变量.toString()
    var str = num.toString();
    console.log(str);
    console.log(typeof str);
    //2. 我们利用String()	格式:String(变量)
    console.log(String(num));
    //3. 利用+拼接字符串的方法实现转换效果  隐式转换
    console.log(num+'');
    

    4.1.2 转换为数字类型(重点)

    (1)方法1:parseInt(变量)

    var age = prompt('请输入您的年龄');
    //1. parseInt(变量) 可以把字符型的转化为数字型 得到的是整数(直接把小数点后面的数字抹掉)
    console.log(parseInt(age));
    console.log(parseInt('18.9')); //18
    console.log(parseInt('120px')); //120 会直接将后面的字母去掉
    console.log(parseInt('rem120px'));//NaN
    

    (2)方法2:parseFloat(变量)

    //2. parseFloat(变量)可以把字符型转化为数字型 得到的是小数 浮点数
    console.log(parseFloat('3.14'));
    console.log(parseFloat('120px')); //120 会直接将后面的字母去掉
    console.log(parseFloat('rem120px'));//NaN
    

    (3)方法3:Number(变量)

    //3. 利用Number(变量)
    var str = '123';
    console.log(Number(str));
    console.log(Number('12'));
    

    (4) 利用了算数运算-*/隐式转换

    //4. 利用了算数运算-*/隐式转换
    console.log('12'-0);//12  若中间是加号则'120'
    console.log('123'-'120');//3 若是加号则是'123120'
    console.log('123'*1);//'123'
    console.log('123'/1);//'123'
    

    (5) 计算年龄案例

    //在页面中弹出一个输入框,我们输入出生年份后,能计算出我们的年龄
    var year = prompt('请输入您的出生年份');
    var age = 2019 - year;//year这里是字符串类型
    alert('您的年龄是'+age+'岁');
    

    (6) 简单计算器

    //弹出输入框用户输入第一个值后,继续弹出第二个输入框并输入第二个值,最后通过弹出窗口显示出两次输入值相加的结果
    var num1 = prompt('请输入第一个值');
    var num2 = prompt('请输入第二个值');
    result = parseFloat(num1)+parseFloat(num2);
    alert('计算结果是'+result);
    

    4.1.3 转换为布尔型

    • 代表空的、否定的值都会被转化为false, 如:''、0、NaN、null、underfined
    • 其余值都会被转化为true

    5.解释型语言和编译型语言

    5.1解释性语言和编译性语言的特点

    计算机不能直接理解任何除了机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言被翻译成机器语言的工具被称为翻译器。

    • 翻译器翻译的方式有两种,一种是编译另一种是解释,两者之间的区别在于翻译的时间点不同。

    • 编译器是在代码执行之前进行编译,生成中间代码文件。Java就是编译型的语言。

    • 解释器就是在运行时进行及时解释,并立即执行,JS就是典型的解释型语言:解释一行,执行一行。(当编译器以解释方式运行的时候,也成为解释器)

    5.2标识(zhi第4声)符、关键字、保留字

    • 标识符:指开发人员为变量、属性、函数、参数取的名字。标识符不能是关键字或保留字。
    • 关键字:是指JS本身已经使用了的字,不可再用它充当变量名、方法名。包括:break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with等。
    • 保留字:实际上就是预留的关键字,意思是现在虽然不是关键字,但是未来可能会成为关键字,同样不能使用变量名和方法名。包括: boolean byte char class const debugger double enum export extends fimal float goto implements import int interface long mative package private protected public short static super synchronized throws transient volatile等。

    6.课后作业

    弹出对话框输入姓名、年龄、性别、并打印用户信息

    //以此弹出对话框输入姓名、年龄、性别、并打印用户信息
    var myName = prompt('请输入姓名');
    console.log(myName);
    var age = prompt('请输入年龄');
    console.log(age);
    var sex = prompt('请输入性别');
    console.log(sex);
    var info = '您的姓名是:'+myName+'
    '+'您的年龄是:'+age+'
    '+'您的性别是:'+sex+'
    ';
    alert(info);
    
  • 相关阅读:
    0107 Git与路飞短信云
    0106 git与路飞项目配置
    关闭SSH,程序后台运行
    ImportError: libSM.so.6: cannot open shared object file: No such file or directory
    A problem has been detected and windows has been shut down to prevent damage
    卸载Windows,安装纯Linux
    No module named '_tkinter'
    [转载] 图片文档扫描矫正处理(手机扫描仪),OCR识别,图片修改库整合
    [ 完美 ] 解决Python依赖(包)环境
    安装 VMware Tools
  • 原文地址:https://www.cnblogs.com/deer-cen/p/11978679.html
Copyright © 2011-2022 走看看