JavaScript变量、数据类型、运算符及类型转换

简介: JavaScript变量、数据类型、运算符及类型转换

一、变量

JavaScript中var关键字(varlable的缩写)来声明变量

var test = 20;
test = "张三";

JavaScript是一门弱类型的语言,变量可以存放不同类型的值


变量名需要循序如下规则:

组成字符可以是任何字母、数字、下划线(_)或美元符号($)

数字不能开头

建议使用驼峰命名


ECMAScript 6 新增 let 关键字来定义变量,它的用法类似于var,但所声明的变量,只在let关键字所在的代码块内有效,且不允许重复声明


ECMAScript 6 新增了count关键字,用来声明一个只读的常量,一旦声明,常量的值就不能改变。


var的特点:1、作用域:全局变量 2、变量名可以重复定义

二、数据类型

JavaScript中分为:原始类型和引用类型


5种原始类型:

number:数字(整数,小数,NaN(Not a Number))

string:字符、字符串,单双引号即可

boolean:布尔。true,false

undefined:当声明的变量未初始化时,该变量的默认值是undefined


使用typeof运算符可以获取数据类型

alert(typeod age);

number:数字(整数,小数,NaN(Not a Number)):

<script>
  //number
  var age = 20;
  var price = 99.8;
  alert(typeof age);
  alert(typeof price);
</script>

运行结果两次重复弹出(number):

31dc649a495847088990760370bb9b33.png

string:字符、字符串,单双引号即可:

<script>
  //String
  var ch = 'a';
  var name = '张三';
  var addr = "北京";
</script>

运行结果三次重复弹出(string):

a1ab552027c5454fa06d87f68f4df9dc.png

boolean:布尔。true,false:

<script>
  //boolean
  var flag = true;
  var flag2 = false;
  alert(typeof flag);
  alert(typeof flag2);
</script>

运行结果两次重复弹出(boolean):

0e90370d69ed4a42aed3db8dbd091018.png

undefined:当声明的变量未初始化时,该变量的默认值是undefined:

<script>
  //undefined
  var a;
  alert(typeof a);
</script>

运行结果为(undefined):

ad81643126ea47e4bda38397ec44af6c.png

Object:


注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值

<script>
  // null
  var obj = null;
  alert(typeof obj);
</script>

运行结果为(object):

2c29f966b2ef4d4bad60cfc4eb85c47c.png

三、运算符

一元运算符:++,--

算术运算符:+,-,*,/,%

赋值运算符:=,+=,-=...

关系运算符:>,<,>=,<=,!=,==,===...

逻辑运算符:&&,||,!

三元运算符:条件表达式?true_value:false_value


==:判断类型是否一样,如果不一样,则进行类型转换 ,再去比较其值


===:判断类型是否一样,如果不一样,连接返回false,再去比较其值

<script>
    var age1 = 20;
    var age2 = "20";
    alert(age1 == age2);//true
    alert(age1 === age2);//false
</script>

运行结果:==为true,===为false

四、类型转换

类型转换:

   其他类型转为number:

       1、string:按照字符串的字面值,转为数字,如果字面值不是数字,则转为NaN

          一般使用parseInt

       2、boolean:true转为1,false转为0


   其他类型转为boolean

       1、number:0和NaN会转为false,其他的数字转为true

       2、string:空字符串转为false,其他的字符串转为true

       3、null:false

       4、undefined:false


健壮性判断:

<script>    
var flag = undefined;
    //
    //健壮性判断
    //if(str != null && str.length > 0)等价与下面
    if(flag){
        alert("转为true");
    }else{
        alert("转为false");
    }
</script>

运行结果:

4f08ea94cf3f431fb418c32ed10f924e.png

目录
相关文章
|
17天前
|
JavaScript
JS 获取对象数据类型的键值对的键与值
JS 获取对象数据类型的键值对的键与值
|
25天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
1月前
|
JavaScript 前端开发
JavaScript 中有哪些数据类型?
JavaScript 中有哪些数据类型?
18 3
|
1月前
|
JavaScript
JS常用数据类型转换
JS常用数据类型转换
13 1
|
1月前
|
存储 JavaScript 前端开发
javascript的8中数据类型
javascript的8中数据类型
|
26天前
|
JavaScript 前端开发
JavaScript 中如何检测一个变量是一个 String 类型?
JavaScript 中如何检测一个变量是一个 String 类型?
21 2
|
1天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
6 1
|
10天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
|
12天前
|
存储 JavaScript 前端开发
JavaScript的引用数据类型主要包括对象
【4月更文挑战第16天】JavaScript的引用数据类型主要包括对象
17 4
|
1月前
|
JavaScript
js开发:请解释什么是ES6的扩展运算符(spread operator),并给出一个示例。
ES6的扩展运算符(...)用于可迭代对象展开,如数组和对象。在数组中,它能将一个数组的元素合并到另一个数组。例如:`[1, 2, 3, 4, 5]`。在对象中,它用于复制并合并属性,如`{a: 1, b: 2, c: 3}`。
12 3