JS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- 内部-->
<!-- 可以写在任意位置,只是执行的顺序不同-->
//alert是弹在网页上框,而document.write是写在页面上的
<script>
<!-- alert("Hello World");-->
<!--定义number类型-->
var num=1;
var num2=3;
document.write(num+"---"+typeof(num)+"<br>");//typeof显示他的数据类型
document.write(num2+"<br>");
<!--定义string类型-->
var str="as";
document.write(str+"<br>");
<!--定义Boolean类型-->
var flog=true;
document.write(flog+"<br>");
<!--定义null,undefined类型-->
var obj=null;
var obj2=undefined;
var obj3; //默认为undefined
document.write(obj+"<br>");
document.write(obj2+"<br>");
document.write(obj3+"<br>");
document.write("<hr>");
//运算符
<!--1."+" "-"-->
var c=+"dre";
document.write(typeof(c)+"<br>");
document.write((c+1)+"<br>");
<!--2.比较运算符-->
document.write((3>4)+"<br>");
document.write(("abc">"abd")+"<br>");//按照字典顺序比较,越靠后,越大
document.write(("123"===123)+"<br>");//全等于,比较之前先看类型,类型不一样,则直接返回false
<!--3.逻辑运算符-->
<!--其他类型转化为boolean型-->
//number
var num=1;
var num2=0;
var num3=NaN;
document.write(!!num+"<br>");
document.write(!!num2+"<br>");
document.write(!!num3+"<br>");
//string
var str="qw";
var str2="";
document.write(!!str+"<br>");
document.write(!!str2+"<br>");
//null&undefined
var obj=null;
var obj2;
document.write(!!obj+"<br>");
document.write(!!obj2+"<br>");
</script>
</head>
<body>
</body>
</html>
在JS中,如果运算数不是运算符所要求的类型,那么JS引擎会自动将运算数进行类型转化
其他类型转number型:
1.string转number,按照字面值转化,如果字面值不是数字,则转为NaN
2.boolean转number,true转为1,false转为0
比较运算符的比较方式:
1.类型相同直接比较,字符串按照字典顺序比较,按位注意比较
2.类型不同,先进行类型转化,在比较
注:===(全等于),在比较之前,先判断类型,类型不同则直接返回false
逻辑运算符( !):
其他类型转boolean:
1.number:0或NaN为false,其余为true
2.string:除了空字符串(“”),其他都是true
3.null&undefined:都是false
4:对象:都为true