JS第二天

it2025-01-09  6

变量: JS中的变量并不直接存储值 而是直接存储在内存地址 变量更像是一个别名 (变量在值中可变 内存地址不可变) String number boolean null undefiened 是基本数据类型 都是不可变 一旦创建就不能在改变 object引用数据类型 cosnd = 55;是一个常量(常量值不可变)

类型转换:转换为字符串类型()俩种方式 1.调用被转换类型的toString()方法来进行转换 第一种由于null和undefined没有toStirng()方法所以会直接报错 a = a.toString(); 2.调用String()函数来进行转换 a = String(a); 所有类型都可以转化为字符串类型 由于mull和undefined没有toString方法 他们是先转换为’mull’和’undefined’然后再进习输出 null和undefined转换为"null"和‘undefined“

2.转换为number类型: 可以使用number函数来转换 字符串除了空格 空格串为0 其他都是数值 合法数值直接转换为数值 不合法的直接转换为NaN boolean 布尔型 ture为1 false为0 null为0 undefined 为NaN

针对字符串还有一种方式:parseint()函数只取整数值 在解析一个字符串时 会自左向右一位一位解析 直到获取所有合法整数 如果第一位就不合法直接为NaN parfloat只取浮点型 (小数) 在解析一个字符串时 会自左向右一位一位解析 直到获取所有合法浮点数

布尔类型 true为1 false为0 null为0 undefinned和obiect均为NaN 3.转换为布尔类型: 调用Boolean函数来转换 数值类型 除了0 和空格都是ture 字符串类型 除了空串都是true null为undedfined都是false object是ture (特殊的)

4.运算符 加 减 /除 *乘 %取模 **开方(不兼容老的版本 不友好)

5.在js中如果进行非数值运算 JS会将其转换为数字然后再运算(除了字符串的加法) - 利用这个特性,可以为任意值 -0,*1 来将其转换为数字 * 它的原理和Number()是一样的 *

对于字符串类型相加时候 会进行一个拼接 先将其它类型转换为字符串类型 然后在和字符串进行拼接 利用这个特点:可以将任意值前面加上一个""转换为字符串 原理和string()函数一样的

6.一元运算符: 只需要进行一个操作数就可以进行运算 +就是加号 不会对数值产生影响 —就是减号 对数值取反 如果对非数值进行正负运算时,它会先将其转换位数值然后再运算 可以将非数值的类型前面加上一个+或— 将他转化为数值 原理和number函数一样 只是方法更加简单

7.自增自减 1++ ++1 都会使变量增加1 不同的是数值不同 前++ 是一个新值 后++ 是一个原值

同理——也是一样 前——也是一个自减后的新值 后——是一个变量自减前的原值

8.将变量更加清晰 打印变量 更好的分辨前++ 和后++

9.赋值运算符: =可以将右侧的值赋值给左侧的值 +=可以将右侧的值赋值给左侧的值 -= *= /= **= %=

10.自增和自减 赋值运算符 会导致变量发生变化

11.逻辑运算符: 用来做逻辑运算 !逻辑非 取数值的反值 如果不是布尔值 是其他数值的话将其他数值转换为布尔值在取反 利用这个特点: 可以将一个非布尔值取俩次反,来将其转为布尔值 原理和bollean函数一样 只是更加隐式话 更加简单

&& 逻辑与 俩个值为同为true true时候 输出true 否则将为false 找false 找到以后 第二值将不在进行运算 true true为true true false为false false true为false false false为false 同样与运算是短路的与 只要由一个值为false将不在看后面的

|| 逻辑或 找true 找到将不在执行第二个值运算 只要其中有一个true 最后的取值就是true 双false时候 为false 或运算是短路的或,如果第一个值是true,则不看第二个值

12.非逻辑运算符: 当非逻辑运算符号进行运算时 他会将其先转换为布尔值 然后再进行运算 最后在返其原值

与运算的分类:(就是找false) 当第一个值为false时候 将不在进行第二个 第一个值为true时候 继续进行第二个 直到找到false 输出 最后在返回其原值

或运算:(就是找true) 当第一个值为true时候 将不在进行第二个 第一个值为false时候 继续进行第二个 直到找到true 输出 最后在返回其原值

13.关系运算符: 关系运算符,用来比较两个值之间的关系是否成立, * 成立返回true,不成立返回false * > * - 检查左侧值是否大于右侧值 * < * - 检查左侧值是否小于右侧值 * >= * - 检查左侧值是否大于或等于右侧值 * <= * - 检查左侧值是否小于或等于右侧值 * * - 对于非数值类型的值进行比较运算时, * 它会将其转换为数值然后再比较 * * - 如果比较运算符的两端都是字符串,则不会将字符串转换为数值, * 而是逐位的比较字符的Unicode编码 * 利用这个特点,可以对文字按照字母顺序排序, * 对于中文来说意义不是很大 * * 注意:如果比较的是两个字符串类型的数字时,比较的也是编码, * 有可能出现错误的比较结果

最新回复(0)