只要带var就是声明,只要声明就会开辟内存空间呢。 Js中新同名变量的空间会替换旧变量的空间。 有几个var,就会创建几个存储空间。
数据类型:变量中存储的数据的类型。
Js是弱类型:变量本身没有类型。只有变量中的值才有类型。 一个变量,可以反复保存不同类型的数据
为什么要有数据类型:现实中所有数据根据用途不同,都分为不同数据类型。
原始类型:数据保存在变量本地! Number stringBoolean undefined null
Number类型:表示一切用于比较或数学计算的数字
原始类型大小:
Number:整数4字节,浮点数8字节 String:每个字符2字节
程序中数字分整数、浮点数(现实中的小数)
Js中一切数字都用number保存,不分整数类型和小数类型 如何定义number类型值?不带引号的数字字面量
程序中数字类型的舍入误差:程序中不能准确表示1/10,就好像现实中不能准确表示1/3一样!
如何修正:按指定位数四舍五入:数字.toFixed(小数位数) 今后计算结果小数位数超长,说明碰到舍入误差,按位四舍五入。
String类型:一串字符的序列!
Unicode:对所有语言文字中的字符编号;如:张(24352)、东(19996);why:因为计算机只能处理数字,无法处理文字。
计算机处理unicode,就等效于处理编号对应的文字。 转义字符:专门表示非打印字符以及特殊符号
如何使用转义字符:\\特殊符号比如:\\n换行 \\t tab健 如果字符串中包含于语法相冲突的特殊字符,用\\转义为原文
字符串变量的内容一旦创建不可改变!如果改变,只能创建新字符串,抛弃旧字符串。 鄙视题(面试题) varstr=”Hello”; Str=str+”world”; 创建了三个字符串。
Boolean类型:仅有两个值的特殊数据类型:true,false何时使用boolcan?只要一个值只有真假两种情况,就用boolean类型
Undefined类型:表示一个变量仅声明过,但从未赋值。所有未赋值的变量,默认值都是undefined。
Undefined类型的值还是undefined!
Day02
数据类型间的转换:
隐式类型转换:程序自动转换数据类型
弱类型:1.变量声明时不必限定数据类型,今后可能保存任何类型数据。 2.数据类型间可以自动类型转换
仅考虑+:只要有字符串参与,一切类型都加””变字符串 如果没有字符串,都转为数字计算: 其中:true——>1 false——>0;
强制转换:程序员通过调用专门函数手动转换类型 1 string:x.toString()——>将x转为字符串类型
2 Number:Number(x)——>将任意类型转为number类型
String—》number:
转为整数:varnum=parseInt(”str”)读取 字符串中的整数部分 从第一个字符向后读。
如果碰到第一个数字字符,开始获取数字,再次碰到不是数字的字符,停止读取 如果开头碰到空格,忽略
如果碰到的第一个非空格字符,不是数字,说明不能转—》NaN:Not aNumber 什么是NaN:不是数字(内容)的数字(类型)
读取浮点数:varnum=parseFloat(“str”) 读取了浮点数部分 用法和parseInt完全相同
唯一差别:parseFloat认识小数点,仅认第一个
Console.log(parseFloat(“22.0”));//22;;parseFloat可将小数点后占用字节但无意义的部分去掉。
Prompt(“提示信息”):专门用于请求用户输入数据,收集数据的对话框! Varstr=prompt(“提示信息”);
*凡是从页面上获得的数据,都是字符串!必须先来转换再计算*
——》
数据类型转换综合图: