javaScript-数据类型和数据类型转换

特别声明,以下为达内科技web前端讲师张东张老师的原创笔记,未经允许,不可转于其他商用,仅供学习。

1. 什么是JavaScript:专门编写网页交互的语言

2. 什么变量:内存中存储*一个*数据的存储空间,再起一个名字

声明: 创建一个变量, var 变量名;

赋值: 将等号右边的数据保存到等号左边的变量中。变量名=值;

取值: 在任何位置使用变量名等效于直接使用变量中的值

特殊:1. 简写:var 变量名=值;——建议

***2. 声明提前:在正式执行程序前,都会预读所有var声明的变量,集中到顶部集中创建。***赋值留在原地***

解题:先改为声明提前后的状态,再判断输出

3. 出错:仅声明,但未赋值的变量,可以使用。

未声明的变量,可以直接赋值——强烈不建议

未声明的变量参与运算或表达式:

报错:Reference Error

3. 数据类型:2大类:

第一大类型:原始类型->值直接保存在变量本地的 数据类型

  【5个】:Number  String   Boolean     undefined   null

Number: 64位=8字节,所占空间与数值大小无关

特殊:舍入误差:计算机中也有计算不尽的数值

          解决:按指定小数位数四舍五入->n.toFixed(d)

String:一串字符组成的一句话

js中用unicode编号保存每个字符

unicode:对全球主要语言中的每个文字编一个号

查看任意字符unicode号: "字".charCodeAt(0)

内存占用:一个英文字母,数字或符号占1字节,汉字占2字节

特殊:字符串一旦创建无法改变,只能整体替换。

因此会导致一个结果:每次字符串+拼接时都会浪费一个字符串

一串数字何时加"":

   如果数据可能用作算数计算或比较时,不加引号-Number类型

比如:年龄  价格   数量

如果数据不可能用作算数计算或比较时,就加引号-String类型

比如:QQ   身份证   手机号

 Boolean:只有两个值: true/false

何时使用:用作条件或结论时

  第二大类型:引用类型->值无法直接保存在变量本地的 数据类型。

  Why:js为什么会有数据类型转换?

  ****js是弱类型语言,有3个特点:****

1. 声明变量时,不用提前指定数据类型

2. 同一个变量,先后可保存不同类型的数据

3. js会根据自身的需要,自动转换数据类型使用

数据类型转换:2大类:

1. 隐式转换:不需要程序员干预,js自动完成的类型转换

算数运算中的隐式转换:

1. 默认都转为数字,再运算

2. +运算中,只要一个数据是字符串:

+变为字符串拼接,不是字符串的数据,被转为字符串

特殊:默认情况:bool类型:true-->1  false-->0

如果转不成数字,则转为NaN

NaN参与算数运算,结果永远为NaN

2. 强制转换:程序员主动调用函数实现的类型转换 

  任意->字符串:2个函数

var str=x.toString() x不能是null或undefined

var str=String(x) 万能——相当于隐式类型转换

一般都是自动调用,不需要手动调用

检测数据类型:typeof(x)-->返回类型名

其实String(x)的源码:

function String(x){

    if(x===null){

      return "null";

     }else if(x===undefined){

     return "undefined";

     }else{

     return x.toString();

      }

     }

补:var value=x.valueOf(),仅取出x内部的值,不做类型转换

鄙视题:区分String() toString() valueOf()

任意->数字:3个函数

任意->数字:var n=Number(x) -->相当于隐式转换

强调:Number中只能转换纯数字组成的内容

特殊:Number(null)->0  Number(undefined)->NaN

Number("")->0

何时使用:隐式转为数字时自动调用

【字符串->数字】:

var n=parseInt(str)

从左向右,依次读取str中的数字字符

直到碰到第一个非数字字符就退出

自动跳过开头的空字符

不认小数点,省略小数部分

var n=parseFloat(str)

认识第一个小数点

何时使用:字符串类型转数字时使用

 Number vs parseXXX

对于bool类型:Number可以转,parseXXX转不了

对于结尾带单位的字符串: Number不能转换,parseXXX可以转

任意->bool: Boolean(x)——隐式转换

规则:除了 0,NaN,null,undefined,"",转为false外,

其余都转为true。

时间: 2024-10-06 00:22:54

javaScript-数据类型和数据类型转换的相关文章

JavaScript之基础-3 JavaScript 数据类型、数据类型转换

一.数据类型 数据类型 基本类型 - 数字类型 - 既可以表示32位整数,也可以表示64位的浮点数 - 整数 - 十进制:逢十进一的整数,如1234567890 - 八进制:逢八进一的整数,如01235670 - 十六进制: - 浮点数 - 使用小数点记录数据,如 95.5,3.1415926 - 使用指数记录数据,如 4.3e23, 4.3E-23 string 类型 - 字符串类型 - 表示一系列的文本字符数据,如性别.姓名.住址等 - 由Unicode字符,数字,标点组成的序列 - Jav

JavaScript中的数据类型转换

本文中提到的“原始值”指的是undefined,null,Boolean,string和number. 本文中的对象是native对象,宿主对象(浏览器定义的对象)按照各自的算法转换. JavaScript中共有六种数据类型,Undefined.Null.Boolean.Number.String和Object. 关于类型转换,JavaScript很有趣的一点是,它会根据他期待的数据类型自动进行类型转换.也就是说,即便你不给他他想要的,他也会自己动手把你给的变成他想要的. 那么这里就有两个问题,

数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)

对于JS这种语言来说,因为它是一种动态类型语言,变量是没有类型的,可以随时赋予任意值. 但是,数据本身和各种运算是有类型的,因此运算时变量需要转换类型. 大多数情况下,这种数据类型转换是自动的,但是有时也需要手动强制转换. 首先看下强制类型转换(显式) 之前提到的Namber.parseInt.parseFloat 都是强制类型转换: 这里在看阮一峰博客(http://javascript.ruanyifeng.com/grammar/conversion.html#toc1) Number方法

Objective-C数据类型、数据类型转换

数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针类型,例如: NSAutoreleasePool *pool ,其中,NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型或叫对象类型. 4.id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量可以声明pool也可以声明为id

Java基本数据类型及数据类型转换

1.Java中基本数据类型包括:整型(byte.short.int.long).字符型(char).布尔型(boolean).浮点型(float.double)三种类型. 2.所占内存分别为:byte:1Byte:short:2Byte:int:4Byte:long:8Byte:char:2Byte:boolean:1Byte:float:4Byte:double:8Byte: 3.表示数的范围byte:[-128~127]:short:[-32768~32767]:int:[-21474836

_01JavaSE基础_关键字、标识符、常量、进制、变量、注释、数据类型、数据类型转换

1.关键字: 被java赋予特定含义的单词 特点: 全部小写 注意事项: goto和const作为保留字存在 2.标识符: 给类.接口.方法.变量等起名的字符序列 组成规则: a.英文大小写字母 b.数字字符(0-9) c.$和_ 注意事项: a.不能以数字开头 b.不能是java中的关键字 c.区分大小写 常见命名规则: a.包: 单级:全部小写 举例:liuyi,com 多级:全部小写,单词与单词之间用"."隔开 举例:cn.itcast,com.baidu b.类名及接口名: 每

Python基础之模块、数据类型及数据类型转换

一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印当前脚本相对路径 打印脚本第二个参数:print(sys.argv [2]) import os 模块: import os # cmd_res=os.system("dir") #只执行命令,不保存结果 cmd_res=os.popen("dir").read() #

Java的数据类型及数据类型转换

要了解数据类型,需要先知道什么是变量? 变量:就是在程序的执行过程中,其值是可以在一定的范围内发生改变的量. 也就是说,当创建变量的时候,需要先在内存中申请空间,变量的值就存储在这个空间中. 变量的组成规则:数据类型  变量名  =  初始化值; 1.必须对其进行限定. 如何限定呢?使用变量类型. 2.在运行的时候,不可能拿这个空间去运算,而是使用空间中的值. 因此,要给空间起一个名字,就是变量名. 3.初始化值. 定义变量的时候,一定要有一个初始化值,否则是无效定义. ------------

JavaScript中的数据类型和数据类型转换

JavaScript中的数据类型主要有两种,一种是基本数据类型,包括Number,String,Null,Undefined,Boolean,还有一种是引用类型Object typeof是操作符,返回值为String ,返回值包括 undefined,number,string,boolean,object,function. 未经初始化的变量会被保存为undefined 原文地址:https://www.cnblogs.com/sz-toosimple/p/11061794.html

J2SE之基础语法_标识符_关键字_数据类型_数据类型转换

标识符 关键字 Java常量 Java变量 Java变量的分类 Java局部变量与成员变量 Java数据类型的划分 Java基本数据类型 1.逻辑型Boolean 2.字符型char 3.整数类型 4.浮点类型 基本数据类型转换