JS随笔:JavaScript语法基础(数据类型、常量、变量)

JavaScript语法基础数据类型、常量、变量

数据类型

JavaScript数据类型分为基本类型引用类型
基本类型有三种:数值型(number)、字符串型(string)布尔型(boolean)
引用类型主要指对象类型(object)。
两种特殊数据类型:未定义类型(undefined)和空类型(null)。

JavaScript属于弱类型程序语言(轻量级解释型脚本),又称为动态类型程序语言,因而一个变量不必事先声明类型,而是在使用或赋值时再确定其类型。

  var  i=3;
    var s=“abcdefg”;

常量

常量是程序中不能改动的数据,通常又称为字面常量。JavaScript的常量分别属于不同的数据类型。
(1)(number)数值型常量
数字(number)是最基本的数据类型。JavaScript和其他程序设计语言(如C和Java)的不同之处在于它并不区别整型数值和浮点型数值。在JavaScript中,所有的数字都是由浮点型表示的。

当一个数字直接出现在JavaScript程序中时,我们称它为数值直接量(常量)(numericliteral)。
整数(常量)可以用十进制****、十六进制八进制表示
浮点数(常量)可以用小数或科学计数法(指数形式)表示。
所谓十六进制数据,是以“0X”和“0x”开头,其后跟随十六进制数字串的直接量。例:

<script>
   var a=27;//十进制
   alert(a);
   
   var b=027;//八进制
   alert(b);

	var c=0x27;//十六进制
	alert(c);
	
   var d=3.12e11;//浮点类型表示,等于3.12×10^11,e可以大写
   alert(d);

</script>

e.特殊的数值常量
Infinity(很少用):Infinity表示无穷大。当一个数值或数值表达式的值超出可表示的最大值时,将被作为Infinity;当一个数值或数值表达式的值超出可表示的最小值时,将被作为−Infinity。其他数值与Infinity进行运算,结果仍为Infinity

在JavaScript中0可以作为分母,不认为错误。

<script>
   var a=6/0;
   alert(a);
</script>

e.特殊的数值常量
NaN:NaN表示“Not a Number”,即不是一个数字。当计算0/0、或对Infinity求正弦值或计算Infinity与−Infinity相加的结果时,都将得到NaN。通过调用 isNaN方法 可以确定一个值是否为NaN
判断某个值是否是 NaN,不能使用 == 或 === 运算符,而是用 isNaN()方法 。

<script>
   var tmp = 0/0;   
   if(isNaN(tmp)){   
        alert("NaN");   
}</script>

(2)(string)字符串常量

使用单引号(‘’)或双引号(“”)括起来的一个或多个字符序列,字符串中可以包括汉字,可以有转义字符。
转义字符(字符串中可以加入转义字符)
以反斜杠开头的不可显示的特殊字符通常称为控制字符,也被称为转义字符。
JS关于转义字符方面的规定和C语言有点像。
在这里插入图片描述

<script>
   document.write("在字符串中,既可以加入单引号\',也可以加入双引号\"。");
</script>
<script>
   alert("欢迎学习\njavaScript!");
</script>

在这里插入图片描述
由于document是HTML元素,所以不执行\n,使用</br>

<script>
 document.write(<h1>欢迎学习\njavaScript!</h1>");
</script>

3)(boolean)布尔常量

布尔数据类型只有两个值,这两个合法的值分别由直接量“true”和“false”表示。一个布尔值代表的是一个“真值”,它说明了某个事物是真还是假。
主要用于条件的判断if语句、循环中。
在JavaScript中可以利用typeof运算符来查看一个值或变量的类型。小括号可加可不加,它的返回值是个字符串。

<script>
 document.write(typeof(123)+"<br />");
 document.write(typeof "123"+"<br/>");
 document.write(typeof true+"<br/>");
 document.write(typeof NaN);
</script>
<script>
var s="aaaa";
var t=123;
var b=true;
document.write(typeof(s)+"<br />");
document.write(typeof t+"<br/>");
document.write(typeof b+"<br/>");
</script>

(4)undefined类型(未定义类型):只有一个值(undefined)
a.当声明一个变量而未对其赋值,该变量的默认值和类型为undefined

b.当函数没有明确的返回值时,也返回undefined值。

 <script>
function a()
{document.write(123456);
}
var b=a();
alert(typeof b);

在这里插入图片描述
c.如果对未声明过的变量使用typeof运算符,则结果为undefined
d.如果对变量赋一个不存在的属性值,则该变量的类型为undefined

 <script>
var b=window.color;
document.write(typeof b);
document.write(typeof c);
</script>

(5)null类型(空类型,是一种特殊的object类型数据)

null类型也是只有一个唯一值即null。
null值表示为空对象,用于定义空的或不存在的对象引用。所以对null执行typeof的时候会返回object

<script>
var a=null;
alert(typeof a);
document.write(a);
</script>

在这里插入图片描述

<body>
 <h1 id="ss" style="color:#F00">这是h1标题</h1>
<script>
  var a=document.getElementById(“ss”);     //获得对象后可以动态控制
  a.style.color="#0F0";
  alert(typeof a);
</script>
</body>
<body>
<script>
function p()
{var a=document.getElementById("ss");
a.style.color="#0F0";
alert(typeof a);
}
</script>
<h1 id="ss" style="color:#F00" onclick="p()">这是h1标题</h1>
</body>

变量

变量的主要作用是存储数据,变量是存放信息的容器。
(1)标识符的命名规则:标识符就是一个名字,用来为变量、函数等命名,标识符的命名规则如下:
① 标识符由字母、数字、下划线(_)或 符 组 成 , 但 不 能 以 数 字 开 头 。 标 识 符 中 不 能 有 空 格 、 ( + ) 、 ( - ) 、 ( , ) 或 其 他 符 号 。 例 如 : t e s t 1 、 t e x t 2 、 n a m e 、 符组成,但不能以数字开头。标识符中不能有空格、(+)、(-)、(,)或其他符号。 例如:test1、text2、_name、 test1text2namestr等都是合法的标识符,、
a、a b+、name-1等都是非法的标识符。
② 命名标识符时,最好把标识符的意义和其代表的意思对应起来即“见名知意”。可参考以下几种命名方法:
Camel标记法:变量名的第一个字母为小写,后面单词均以大写开头
studentName studentAge
Pacal标记法:变量名的第一个字母为大写,后面单词均以大写开头

StudentName       StudentAge

在这里插入图片描述
变量
在JavaScript中,变量也可以不作声明,直接赋值。例如:

x = 100; 
y = "125"; 
xy =  true; 
cost = 19.5;

(3)变量的作用域:JavaScript中变量分为全局变量局部变量
定义在所有函数体之外的变量是全局变量,其作用范围是整个网页;
定义在函数体之内用var声明的变量是局部变量,其作用范围是该函数体;
在函数体内直接赋值定义的变量也是全局变量

变量的作用域:
【例1】编写代码说明全局变量和局部变量的作用域。

<script  type = "text/javascript">
    var a;  // a在函数外声明,是全局变量,作用于整个脚本代码
    function send() {
      a = "欢迎进入";
      var b = “JavaScript”;     // b在函数内声明,只作用于该函数体
      c = "JS程序设计";      // c在函数内直接赋值,是全局变量
       alert(a+b);   	       // 显示"欢迎进入JavaScript"
       alert(a+c);  	      // 显示"欢迎进入JS程序设计“      
     }
    send();      	  // 调用函数send,从而执行send()中的代码
    alert(a+c);   	// 显示"欢迎进入JS程序设计"
    alert(a+b);   	// 出错,因为无法访问局部变量b	
</script>

const关键字用于实现常量的定义。常量的命名遵循标识符的命名规则,习惯上常量名称总是使用大写字母来表示。 例如:
const PI=3.14;
const p=2PIPI;
常量一旦被赋值就不能改变,并且常量在声明时必须为其指定某个值。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr顺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值