2022-04-15 js基础第二天-变量、数据类型

js是一种运行在客户端的脚本编程语言;

可以实现人机交互效果,提供逻辑思维能力;
由ECMAScript(规定语法) 和 WEBAPIs组成的(DOM+BOM)

三种引入js的方法

1.内部,用script标签包括,必须写在所有的html标签之后,也就是/body的上面
这是因为浏览器是从上到下逐行解析,如果遇到了script标签,就会阻塞文档解析
原因1:如果javscript期望修改下方的HTML,那么它可能由于HTML尚未加在而失效
原因2:因为script可能会修改dom元素,那么继续解析文档没有太大意义,为了提升西能,浏览器会阻塞文档解析
2.外部,用srcipt标签里的src属性引入外部文件
3.内联,写在html标签里面

js的结束符,分为分号和回车换行,可以不写分号,但必须要有结束符

一、js的输入输出语句

输出语句:

1.1 alert('这会弹出一个框'); //浏览器弹出警示框
1.2 document.write('在页面中输出内容'); //在页面中输出内容
1.3 console.log('在控制台中输入内容'); //主要是程序员自己看的,用于调试错误问题

输入语句:

1.1 prompt('弹出输入框'); //浏览器弹出输入框,让用户输入信息

二、变量—是用来在内存中申请一块用来存放数据的地址 空间

2.1 变量在使用分为两步:1.声明变量;2.赋值;

let age;//let是用来声明变量的关键字,以前var
2.2 变量不能重复命名
2.3 只声明不赋值,结果为undefind
2.4 不声明直接赋值,是没问题的,以为它隐式的帮助我们声明了let,但不符合规范
age = 100;
2.5 变量的连写用逗号隔开,是因为用逗号时,表示这句话并没有结束,所以let也可以作用到后面的变量

三、命名规范

3.1 变量名只能由字母、数字、下划线和¥(写英文状态下的)组成
3.2 不能以数字开头
3.3 不能使用关键字
3.4 必须驼峰命名法
3.5尽量不要用name去做变量名

四、数据类型

4.1 js的数据类型在声明阶段是无法确定的,只有在程序运行之后根据初始化的值也就是=右边的值才能判断数据类型
4.2 let num; //无法确定数据类型
4.3 num = 1; //数据类型为数值型
4.4 其次,由于js是动态语言,所以同一个变量名可以赋值多种数据类型,是可以变化

五、数据类型

5.1 简单数据类型
5.1.1 数字类型Number:
数字类型由整数和小数组成
八进制,数字前边以0开头,范围为0~7,例如010,变成十进制就是8,012变成十进制就是10
十进制,数字前边以0x开头,范围09,af,例如0xa,变成十进制就是10
Number.MAX_VALUE 这是最大值,当一个数字超过最大值的时候,其结果就会变成infinity,表示无穷大的意思,当其结果为负数时,就会变成-infinity
-Number.MAX_VALUE
Number.MIN_VALUE 这是最小值
NaN 表示非数字类型,例如一个字符串跟一个数字进行运算,就会变成NaN
涉及跟NaN运算的,都会返回NaN,例如NaN/10;
isNaN(); 可以用来检查参数是否不是数值,首先这个方法会尝试能够进行转换,如果能转换返回fasle,不是返回ture
isNaN 用来判断是否是非数字,如果是一个数字,则返回false,如果不是则返回true isNaN(13);
5.1.2 字符串类型String:
用单引号或双引号包裹起来的任意文本,都叫字符串 let str = '你好世界'; 在js中尽量都用单引号
引号的嵌套,要么用单引号包裹双引号,要么双引号包裹单引号 let str = '你好"世界"'; 注:相同的引号,是采用就近原则进行匹配
字符串的转义字符,转义符 \ 所有的转义字符都要加在引号里面
\n 表示换行
\ 斜杠
' 单引号
" 双引号
\t tab缩进
\b 空格
检测字符串的长度length,let str = '123 341'; int num = str.length; 注:空格也算字符
字符串的拼接,用+号链接,一个字符串与任意类型的数据进行拼接,都会变成字符串,因为拼接前会把后面的数据类型都转成字符串,然后再拼接成一个新的字符串
字符串拼接的优化方式:
let name = '世界';
console.log(你好${name}); 用反引号包裹内容,然后反引号里面输出字符串以及{变量名} 字符串是不可变的,一旦创建所占用的内存空间就不可改变,每次同一变量重新赋值,或者拼接,都将产生新的字符串,以及老的字符串(垃圾),从而占用西能 模板字面量,可以用定义字符串的能力,用``(反引号),可以在js中写html结构,可以用document.write()方法解析到body中,在模板字面量中插入字符插值可以用{}表达式,例如let a = '字符串插值'; console.log(你好,我一个${a}); //其结果为你好,我一个字符串插值
5.1.3 布尔类型Boolean
布尔类型有两个值,true和false,当这两个值参与算数运算时,true为1,false为0,例如:console.log(true + 1); //2
5.1.4 未定义类型Undefind
如果一个变量没有赋值,直接调用,其结果为undefind,也可以手动赋值为undefind,表示没有赋值,也就没有初始化
undefind跟一个字符串相加,则会变成字符串
undefind跟一个数字相加,则会变成NaN
一般应用于当后台传输数据,我们不知道有没有传递过来,就可以通过检测这个变量的值是不是undefind,就可以判断用户是否有数据传过来
5.1.5 空类型Null,有初始化,赋的值为空
如果一个变量的值为null,表示什么都没有存放,所以可以为变量赋值null,来清空变量的值
当null参与算数运算时,表示的值为0
5.1.6 获取检测数据变量的类型typeof
console.log(typeof '你好'); //其结果为string

六、数据类型的转换

6.1 其他类型转字符串类型
6.1.1 数字类型转成字符串类型:变量名.toString(); 例如:let str = 变量名.toString();
6.1.2 用String()方法也可以强制转换,例如:console.log(typeof String(10)); //其结果为字符串的10,String()方法是内部调用toString()方法的
6.1.3 用一个空的字符串跟一个数字相加,也会变成字符串,例如 10 + ''; //其结果为字符串的10,这叫转换也叫隐式转换
6.1.4 +号也可以作为正号解析
例如:console.log(typeof +'12'); //其结果为number
console.log(+'12' + 12); //其结果为24
6.15 undefined和null没有toString()方法,使用就会报错
6.2 转换为数字类型
6.2.1 字符串转换为数字类型—整数parseInt();
parseInt('12'); //其结果为数字型12,但是只能转类似数字的字符串,如果不是,则返回NaN,并且转小数则只会保留整数部分
parseInt('120px'); //如果数字后面跟了一些字母,则会自动去掉只保留整数
parseInt( , ),还有第二个参数,第二个参数为指定进制数,例如parseInt(0xa , 16); 表示16进制的0xa
6.2.2 字符串转换为数字类型—小数parseFloat();
parseFloat('3.1515'); //其结果为数字型的3.1515
6.2.3 强制转换为数字类型—Number(),可以用于任何数据类型的转换
Number('1.535'); //其结果为数字型的1.535,这个方法可以转像小数和整数的字符串,''空的字符串返回0
Number(true); //返回1,ture返回1,false返回0,null返回0,undefind返回NaN
6.2.4 算数运算隐式转换为数字类型 - * /
console.log('120' - '10'); //结果为数字类型的110,因为运算之前已经就将字符串转换为数字类型的数据了
6.2.5 转换为布尔类型—Boolean
代表空、否定的值都会被转成false,例如''、0、NaN、null、undefinend这些也叫假值,其余的都会被转成true
6.3 转成布尔类型
let a = 'abc';
console.log(Boolean(a)); //其结果为true,在boolean类型中,所有假值都为false,真值都为true
假值:false、''、0、NaN、undefind、null

你可能感兴趣的:(2022-04-15 js基础第二天-变量、数据类型)