how2j.cn


工具版本兼容问题
基本数据类型
undefined,Boolean,Number,String,null


关键字 简介 示例代码
undefined
声明了但未赋值
示例代码
Boolean
布尔
示例代码
Number
数字
示例代码
String
字符串
示例代码
var
动态类型
示例代码
typeof
变量类型判断
示例代码
null
空对象/对象不存在
示例代码
示例 1 : 声明了但未赋值   
示例 2 : 布尔   
示例 3 : 数字   
示例 4 : 字符串   
示例 5 : 动态类型   
示例 6 : 变量类型判断   
示例 7 : 空对象/对象不存在   

示例 1 :

声明了但未赋值

edit
当一个变量被声明了,却没有赋值的时候,叫做 undefined
运行效果
<script> var x; //声明了变量x,但是没有赋值 document.write('声明了,但是没有赋值的变量 x: '+x); </script>
<script>
  var x; //声明了变量x,但是没有赋值
  document.write('声明了,但是没有赋值的变量 x: '+x);
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
Boolean变量有两种值,分别是true或者false
运行效果
<script> var x=true; var y=false; document.write("布尔值:"+x); document.write("<br>"); document.write("布尔值:"+y); </script>
<script>
  var x=true;
  var y=false;
  document.write("布尔值:"+x);
  document.write("<br>");
  document.write("布尔值:"+y);
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
javascript中的Number可以表示十进制,八进制,十六进制整数,浮点数,科学记数法
运行效果
<script> var a=10; //十进制 var b=012;//第一位是0,表示八进制 var c=0xA;//0x开头表示十六进制 var d=3.14;//有小数点表示浮点数 var e=3.14e2;//使用e的幂表示科学计数法 document.write("十进制 10 的值: "+a); document.write("<br>"); document.write("八进制 012 的值: "+b); document.write("<br>"); document.write("十六进制 0xA 的值: "+c); document.write("<br>"); document.write("浮点数 3.14 的值: "+d); document.write("<br>"); document.write("科学记数法 3.14e2 的值: "+e); document.write("<br>"); </script>
<script>
  var a=10; //十进制
  var b=012;//第一位是0,表示八进制
  var c=0xA;//0x开头表示十六进制
  var d=3.14;//有小数点表示浮点数
  var e=3.14e2;//使用e的幂表示科学计数法
  document.write("十进制 10 的值: "+a);
  document.write("<br>");
  document.write("八进制 012 的值: "+b);
  document.write("<br>");
  document.write("十六进制 0xA 的值: "+c);
  document.write("<br>");
  document.write("浮点数 3.14 的值: "+d);
  document.write("<br>");
  document.write("科学记数法 3.14e2 的值: "+e);
  document.write("<br>");
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
与java不同的是,javascript中没有字符的概念,只有字符串,所以单引号和双引号,都用来表示字符串。
运行效果
<script> var x='hello '; //单引号 var y="javascript"; //双引号 document.write("单引号的字符串:"+x); document.write("<br>"); document.write("双引号的字符串:"+y); </script>
<script>
  var x='hello '; //单引号
  var y="javascript"; //双引号
  document.write("单引号的字符串:"+x);
  document.write("<br>");
  document.write("双引号的字符串:"+y);
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
变量的类型是动态的,当值是整数的时候,就是Number类型,当值是字符串的时候,就是String类型
运行效果
<script> var x=10; //Number类型 document.write("此时 x的值是 "+x+" 类型是数字"); document.write("<br>"); x = "hello javascript"; //String类型 document.write("此时 x的值是 "+x+" 类型是字符串"); </script>
<script>
  var x=10; //Number类型
  document.write("此时 x的值是 "+x+" 类型是数字");
  document.write("<br>");
  x = "hello javascript"; //String类型
  document.write("此时 x的值是 "+x+" 类型是字符串");
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 6 :

变量类型判断

edit
使用typeof来进行判断数据类型

正是因为变量是动态类型的,所以无法确定当前到底是哪种类型,这个时候,就可以使用typeof来进行判断
运行效果
<script> var x; document.write('声明了但是未赋值的时候,类型是: '+typeof x); document.write("<br>"); x=5; document.write('赋值为5之后,类型是: '+typeof x); document.write("<br>"); x=5.1; document.write('赋值为5.1之后,类型是: '+typeof x); document.write("<br>"); x=true; document.write('赋值为true之后,类型是: '+typeof x); document.write("<br>"); x="hello"; document.write('赋值为hello之后,类型是: '+typeof x); </script>
<script>
  var x; 
  document.write('声明了但是未赋值的时候,类型是: '+typeof x);
  document.write("<br>");
  x=5; 
  document.write('赋值为5之后,类型是: '+typeof x);
  document.write("<br>");
  x=5.1; 
  document.write('赋值为5.1之后,类型是: '+typeof x);
  document.write("<br>");
  x=true; 
  document.write('赋值为true之后,类型是: '+typeof x);
  document.write("<br>");
  x="hello"; 
  document.write('赋值为hello之后,类型是: '+typeof x);

</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 7 :

空对象/对象不存在

edit
null表示一个对象不存在,因为本章节讲的都是基本类型,而null是和对象相关的,所以会放在javascript中的对象中进行讲解


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-10-09 用科学技术法表示的小数为什么会省略小数点?
fish_github

我看示例三中最后一个3.14e2表示为314,难道用科学计数法就表达不了小数了么?




1 个答案

无所谓_胜
答案时间:2020-10-31
你把3.14改小一点不就行了



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-03-11 试一试中的异常情况
曲终人散丶




var x; document.write('声明了但是未赋值的时候,类型是: '+ x); document.write("<br>"); 这段代码执行出来应该是:undefined 吧? 截图里面好像把最后一个 hello 赋值过去了
加载中

							

							


1 个答案

TheBug
答案时间:2020-04-27
你没有写typeof 啊 要用typeof 来判断的
document.write('声明了但是未赋值的时候,类型是: '+typeof x);



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2020-02-21 提问
2020-01-31 typeof x
2019-08-22 代码执行的结果是,类型为 string?


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 6 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 前端部分-JavaScript-基本数据类型 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图