首页 > 代码库 > js.day01
js.day01
1 代码注释
@代码注释
//单行注释
/* 多行注释 */
书写多行注释的时候注意不要发生嵌套
标签属性
@script标签的属性
type类型 src 地址
async异步加载,加载完成立即执行 defer异步加载,页面上的东西都执行完了才执行
2. 变量
变量的命名规范
@变量的命名
规则(必须遵守)
区分大小写
不能是关键字和保留字
由字母、数字、下划线、$ 组成且开头不能是数字
规范(建议遵守)
变量的名称要有实际意义
变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写 例如:userName
变量的声明赋值
@变量的声明和赋值
书写格式
var 变量名 = 值
数据类型
数据类型
声明的时候不用考虑类型,但是处理和计算的时候要考虑类型
基本数据类型
number数值型 string字符串型 boolean布尔型 undefined 未定义 null空
复杂数据类型
object对象
使用typeof关键字可以查看变量的数据类型
1. 数值类型
@数值类型
字面量
var num = 数字;
浮点数
计算浮点数时会丢失精度
我们通常用整数的计算来表示浮点数的计算
不要以两个浮点数是否相等作为条件判断的依据(判断范围还是可以的)
NaN
NaN是数值类型
NaN不等于自身
isNaN( ) 不是有意义的数值返回true
2 字符串类型
@字符串型
字面量
var str = “字符串”;
字符串的长度
str.length
length就是长度的意思
3 布尔类型
@布尔类型
所有类型的值都可以转化成布尔值
会转化成false的值有: 空字符串 数值零NaN undefined null
4 undefined类型
@undefined
表示声明但未赋值的变量
数据类型转换
1.转换成数字
显式转换
我们可以通过代码,强制将一个字符串转换成为一个数字,所以显式转换也被叫作强制类型转换。
- 使用Nubmer对象将字符串转换成为数字。
var a = Number(“1234”);
console.log(“a = ” + a + “type = ” + typeof(a)); //1234 Number
使用Number对象可以将任意字符串转换成为数字类型,包括整数,负数以及浮点数(小数)。
- 使用parseInt函数将字符串转换成为数字。
var a = parseInt(”1234.5678”);
console.log(“a = ” + a + “type = ” + typeof(a)); //1234 Number
注意事项:parseInt只能够将字符串转换成为整数数字,会舍去小数位。
- 使用parseFloat函数将字符串转换成为数字。
var a = parseFloat(“1234.5678”);
console.log(“a = ” + a + “type = ” + typeof(a)); //1234.5678 Nubmer
parseFloat能够把字符串转换成为数字,并且保留小数位
注意事项:
不管使用以上三种方式中的哪一种方式将字符串强制转换为数字,只要字符串不能够转换成为有效的数字,就会被转换成为NaN.字符串转换成了Nan并不是说,字符串转换成数字就失败了,NaN也是Number类型的一个特殊值。
var a = Number(“abcd”); //值是NaN,类型是Number
var b = parseInt(“abc”); //值是NaN,类型是Number
var c = parseFloat(“abcd”); //值是NaN,类型是Number
隐式转换:
可以通过减法、乘法、除法、取模等运算符将字符串转换成为数字。注意:不能使用加法运算符将字符串转换成为数字,如果使用加法运算符,数字会被转换成为字符串。
var str = “1234”;
var a = str – 0;
var b = str * 1;
var c = str / 1;
var c = str % 1;
console.log(typeof(a)+” , ” +typeof(b) + “ , ” + typeof(c));
除了通过算数运算符将字符串转换为数字以外,还可以通过给字符串添加正负号来将字符串转换成为数字。
var str = “1234”;
var a = +str; //Number 1234
var b = -str; //Number -1234
consol.log(“a = ” + a + “type = ”+typeof(a)+“ b = ” + b+”type=” + typeof(b));
如果一个字符串无法被转换成为数字,在隐式转换时,字符串数据类型也会被转换成为Nunber数字类型,只不过对应的值是NaN.
2.转换成字符串
显示转换
- 使用String对象生成一个字符串。
var b = String(1234); //结果是”1234”,类型是String
- 调用变量或者直接量的toString()方法,可以将数据转换成为字符串。
var a = 1234; //Number类型的数据
console.log(“a.toString() = ” + a.toString() + “type = ” + typeof(a.toString()));
注意:null和undefined不能够调用toString()方法。
隐式转换
任意一个原始类型的数据和字符串相加,得到的结果都会是一个字符串。
var a = 1234 + “”; //结果是”1234”,类型是String
var b = true + “123”; //结果是 true123,类型是String
var c = null + “abcd”; //结果是nullabcd,类型是String
var d = undefined + “abcd”; //结果是undefinedabcd,类型是String
3.转换成布尔类型
显示转换
可以使用Boolean对象将数据转换为布尔类型。
console.log(Boolean(“123”)); //值为true,类型为布尔类型
console.log(Boolean(123)); //值为true,类型为布尔类型
console.log(Boolean(true)); //值为true,类型为布尔类型
console.log(Boolean(“false”)); //值为true,类型为布尔类型
console.log(Boolean(false)); //值为false,类型为布尔类型
console.log(Boolean(“”)); //值为false,类型为布尔类型
console.log(Boolean(0)); //值为false,类型为布尔类型
console.log(Boolean(null)); //值为false,类型为布尔类型
console.log(Boolean(undefined)); //值为false,类型为布尔类型
consol.log(Boolaen(NaN)); //值为false,类型为布尔类型
在JS中,只有布尔类型的false、空字符串("")、0、null、undefined、NaN会被转换成为false,其它的数据都会被转换成为yes.
隐式转换
给数据添加一个逻辑非运算符 ! 就可以将数据转换成为一个Boolean类型。但是这样转换的话,值就会发生变化,例如 !"1234" 的值是false,这不符合我们的强制转换规则。所以,我们通常使用两个逻辑非运算符(即!!),来将数据转换成为布尔值,例如:!!"1234"的值为true,将字符串"1234"隐式转换成为了布尔值true.
js.day01