首页 > 代码库 > js的变量的定义

js的变量的定义


1. 变量:声明(var) 赋值(=)
取值(使用变量名等效于使用变量中的值)
***声明提前:程序开始执行前,
将所有var声明的变量提前到开始位置
赋值留在原地
console.log(a); //undefined
var a=100;
console.log(a); //100

***使用变量报错:尝试从*未声明*的变量中*取值*
***给未声明的变量赋值,*不会报错*!会自动创建同名变量

2. 数据类型:2大类
原始类型:值保存在变量本地的数据类型
5种:Number String Boolean undefined null
Number:8bytes 舍入误差-->四舍五入
String:每个英文字符 1byte
每个汉字字符 2bytes
一旦创建内容不可改变
Boolean: true false

引用类型:值不保存在变量本地的数据类型

js中的变量 vs 数据库
内存中 硬盘上的文件
临时的 持久的
客户端 服务器端只存一份

正课:
1. ***数据类型转换
2. ***运算符和表达式

1. ***数据类型转换:
***js是弱类型编程语言:3方面:
1. 声明变量时,不用规定变量存储的数据类型
2. 赋值时,动态决定变量的数据类型
同一个变量,先后可保存不同类型的数据
3. 运算时,js会根据需要,动态转换数据的类型

2大类:
1. 隐式转换:无需程序员干预,js自动完成的类型转换
仅讨论+运算中的隐式转换:2句
算数计算中,一切类型都隐式转为number类型,再计算
比如:"2"-->2 true/false-->1/0
特例:+运算中,只要有一方是字符串,两数据都转为字符串,且+运算变为字符串拼接!

表达式:由数据,变量和运算符组成的一个公式
每个表达式默认都从左向右,两两计算
*每个表达式有且仅有一个运算结果!*

NaN:Not a Number-->说明运算中包含了无法转为数字的值
不是数字 的 数字
NaN和任何数据做计算,永远返回NaN
typeof(x): 专门用于判断x的数据类型,返回数据类型名
typeof(NaN): number

隐式转换,仅影响表达式的运算结果,不影响变量中存储的实际值。

2. 强制转换:程序员通过主动调用专门函数,执行转换
1. 任意类型 to String: 2种:
var str=x.toString();
js中,一切数据都有toString方法
var str=String(x);-->隐式转换
何时使用:程序在需要时,自动调用
***2. 任意类型 to Number: 2种:
任意类型 to Number: var n=Number(x);-->隐式

String to Number: 2种:
var n=parseInt(str);
原理:从str开始位置逐个读取每个字符
直到碰到第一个不是数字的字符时,停止读取
自动忽略开头碰到的空格
比如:var width="12px";
width+"2px"-->"12px2px"
Number(width)+Number("2px")-->NaN
parseInt(width)+parseInt("2px")
parseInt("12px")+parseInt("2px")
12 2 -->14
width=14+"px";
var money="$400"; NaN
"34.56"; 34

var n=parseFloat(str);
原理和parseInt完全一致!
但是,parseFloat,只认第一个小数点
比如:parseFloat("34.56"); 34.56
parseFloat("34.56.78"); 34.56

Number(x) vs parseInt(str)
比如:Number("12px")-->NaN
parseInt("12px")-->12
string to Number-->parseInt

Number(true)-->1
parseInt(String(true))
parseInt("true")-->NaN
x to Number-->Number()

3. 任意类型-->Boolean: 1种:
var bool=Boolean(x);-->隐式转换
"" NaN undefined null 0 --> false
其余-->true

课堂练习:
输入框:var input=[window.]prompt("输入提示");
[window.]alert();
***凡是从页面上获得一切数据,都是字符串类型

2. ***运算符和表达式:
程序:让计算机按照人的想法去执行任务
运算符:程序中模拟人的思维运算或判断的符号

运算符:算数运算符:+ - * / % ++ --
%运算:取余数 6789%100-->89
被除数/除数,不取商,而是取除不尽的余数部分
何时使用:2大用途:
1. 判断奇偶数:n%2-->1 奇数 否则 偶数
2. 限制一个运算的结果,不超过某个最大值(除数)

 

 

 

 

 

 

js的变量的定义