day01数据类型
javascript:js是一种通常运行在浏览器的脚本编程语言,前端唯一的语言
组成
ECMAScript、DOM(document object medal)、BOM(browser object medal)
ECMAScript:规范,js基础语法
DOM:网页文档模型,操作网页元素(标签)
BOM:浏览器对象模型
书写顺序
写在body里面,标签后面
书写位置
内部:
-
直接写在html文件里,用script标签包住
-
注意事项:写在所有标签最后面,因为浏览器是按从上到下的顺序执行
外部:
-
代码写在以.js结尾的文件里
-
注意事项:中间不书写任何东西
内联:代码写在标签内部
结束符
即“ ; ”
-
推荐写
-
也可以不写,但要换行
注释
只有
常用输入输出语句
-
输出
向body内输出内容:document.write('我是大美铝')
alert('计算的结果是');
调试专用:console.log('我是程序员能看到的');
-
输入
prompt('情书内容:')
案例
交换变量(设置临时变量法)
<script>
// 给盒子
let num1 = 10;
let num2 = 20;
?
// 暂存
let temp = num1;
?
// 1换成2
num1 = num2;
?
// 2从temp取
num2 = temp;
?
// 打印出来,交换成功
console.log(num1,num2);
</script>
交换变量(加法)
<script>
?
let num1 = 10;
let num2 = 20;
//num1=30
num1 = num1 + num2;
?
//num2=10
num2 = num1 - num2;
?
//num1 = 20
num1 = num1 - num2;
console.log(num1,num2);
</script>
交换变量(减法)
<script>
let num1 = 10;
let num2 = 20;
console.log(num1,num2);
?
num1 = num1 - num2; //-10
num2 = num2 + num1;//10
num1 = num2 - num1;
console.log(num1,num2);
?
</script>
数据类型
两大类
引用数据类型
基本数据类型
1、number 数字型
console.log("正整数",+100);
console.log("小数",+1.09);
console.log("负数",-100);
-
NaN 是一个数字类型
2、string 字符串型
-
使用的符号
''""``
注意事项:
-
引号成双
-
单双嵌套使用
-
转换
let nbo = "4545 \'我是'\ "; console.log(nbo);
字符串拼接
普通字符串拼接
let uname = '今天'; let week = '星期一'; document.write(uname + week)
模板字符串使用方式:
-
引号使用反引号
`` -
变量使用${}
let age = 10;
let name = 'shushu';
console.log(`我今年${age}岁了`)
3、boolean 布尔型
// 布尔类型
let love = true;
4、undefined 未定义型
多用于检测后台数据是否已经传输给变量
// 未定义
let dass;
console.log("dass:",dass);//undefined
console.log(typeof(dass));//undefined
5、null 空类型
将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
// 空值
let bb = null;
console.log("bb:",bb);//null
/*逻辑上讲,null 值表示一个空对象指针,这也是会返回"object"的原因*/
console.log(typeof(bb)); //object
null 和 undefined 区别
-
undefined 表示没有赋值 null 表示赋值了,但是内容为空
检测数据类型
-
控制台字体颜色
-
直接输入 typeof
方法:typeof() 不推荐
let age = 10;
//console.log('age: ', typeof(age)); 不推荐加(),这样变成了方法
console.log('age: ', typeof age);
类型转换
解决promt输入的值默认字符串,无法做加减
只能属于字符串拼接(“1” + “1”=“11”
系统内部自动进行类型转化
规则:
1、+ 号两边只要有一个是字符串,都会把另外一个转成字符串
console.log("11" + 11); //1111
2、除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
console.log('1' * 1);
技巧:+号作为正号解析可以转换成Number
console.log(+'1' + 18);
显性转化
转成数字
Number(数据)
-
转成数字类型
-
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字
-
NaN也是number类型的数据,代表非数字
console.log(Number('11111'));
console.log(typeof Number('11111'));//number
parseInt(数据)
-
只保留整数(不四舍五入)
console.log(parseInt(55.75));//55
console.log(parseInt(55.35));//55
parseFloat(数据)
-
可以保留小数
console.log(parseFloat(78.565656));//78.565656
console.log(parseFloat(55))//55,不会强制显示小数点后面的数值
?
转成字符串
String(数据)
console.log(String(123));
console.log(typeof String(123));
变量.toString(进制)
let num = 445646;//number
console.log(num.toString());
console.log(typeof num.toString());//string
加法小案例
<script>
let num1 = prompt('num1:');
let num2 = prompt('num2:');
num1 = Number(num1);
num2 = +num2;//转化为整数
// num2 = Number(num2);
console.log(typeof num1,num2)
document.write("总和是:",num1 + num2);
</script>
订单小案例
额外拓展
1、开启剪贴板快捷键:win+v
插件分享
步骤:
-
先选中要输出的变量名
-
快捷键Cmd+Shift+L
-
效果:
console.log('gun: ', gun);
常见错误
1、单词写错导致没有声明
查找方法:通过搜索 全字匹配 区分大小写