JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
【1】JavaScript基本语法
【2】数据类型及变量
【3】JavaScript中的几种语句
【4】单目运算符和布尔运算符
【5】数学运算符和关系运算符
【6】关系运算符
【7】三目和赋值运算符
【1】JavaScript基本语法
通过type = "text/javascript"来嵌套JavaScript语句
<!DOCTYPE html> <html> <head> <title>js的语法.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- js是弱类型语言 --> <script type="text/javascript"> //1 声明变量, 变量的类型是随时可以变化的 var a = 1; a = "haha"; a = false; //2 注释 注释写法与java一模一样.没有文档注释. // /**/ //3 声明变量 var b=2,c=3; //4 js中每行语句的结束使用 ";" 号来表示. 也可以不使用";".(推荐都加上) //5 声明变量时,也可以不加var => 加var声明,作用范围在代码块中.不加var声明,作用范围为全局 //6 字母大小写.语法区分大小写 </script> </head> <body> </body> </html>
一共有8中基本的数据类型
<!DOCTYPE html> <html> <head> <title>js的变量.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //java中的变量分类 //1 基本数据类型 => 8个 //2引用数据类型 //js中的变量分类 //1 原始类型 //2 对象类型 //--------------------------------------------------------------- //js的原始类型 5种 //1 number 数字 不分整型或浮点型 //2 string 字符串 //3 boolean 布尔 //4 null 一般人为来赋值为null. 对象数据类型的占位符. //5 undefined(未定义) null的衍生值. 通常是系统自动赋值.当我们创建一个变量,并且没有初始化. var a = 10; //number var b = 3.14; //number var c = "hello"; //String var d = 'world'; //String var e = true; //boolean var f = null; //object var g = undefined; //undefined var h ; //undefined var i = new Object();//object //运算符=> typeof => 返回原始类型的类型 alert(typeof a); alert(typeof b); alert(typeof c); alert(typeof d); alert(typeof e); alert(typeof f); alert(typeof g); alert(typeof h); alert(typeof i); // typeof null => object // 是javascript中的一个bug.后来将该bug保留了. //---------------------------------------------------- </script> </head> <body> </body> </html>
JavaScript中的语句是和Java中语句的使用方式使基本相同的
<!DOCTYPE html> <html> <head> <title>js中的语句.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- js中的语句 --> <script type="text/javascript"> /*java中的语句 1 判断 if else/ switch 2 循环 for / while do / do while js中的语句(语法种类等都与java的一模一样) 1 判断 if else/ switch 2 循环 for / while do / do while*/ //---------------------------------------------------------------- function fun1(){ var num1 = 100; var num2 = 100; if(num1<num2){ alert("num1小"); }else if(num1==num2){ alert("相等"); }else{ alert("num1大"); } } fun1(); //----------------------------------------------------------------- //从1累加到100 function fun2(){ var count = 0; for(var i = 1 ; i<=100 ; i++){ count += i; } alert(count); } fun2(); </script> </head> <body> </body> </html>
因为js是弱类型的语言,所以其变量的类型会根据情况来自动改变。+号和-号具有将String类型转换成number类型的作用。除了+/-0和null不能转换成布尔类型,其他都可以进行转换。
<!DOCTYPE html> <html> <head> <title>js的运算符-一元运算符.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- js中的语句 --> <script type="text/javascript"> //java中的单目运算符 var a = -2; var b = +2; alert(a); //-2 //-------------------------------------------------------------- var c = "1234"; alert(typeof c); //String c = -c; alert(typeof c); //number alert(c); //-1234 //js是弱类型=>js中的类型会根据需要自动变化. //上面的例子中因为+是数学运算符.所以需要c是数字类型.js就会自动将c转换为number类型. //=============================================================================== //java中的布尔运算符 //js会在需要什么类型时,对类型自动进行转换 /*number => boolean 除了+0,-0,NaN 其他都是true. string => boolean 字符串不为空,那么其他都是true. null => boolean false undefined => boolean false Object => boolean true*/ if("haha"&& new Object()){ alert("true"); }else{ alert("false"); } </script> </head> <body> </body> </html>
数学运算符是个很神奇的东西,"1"+1居然是11,而且是String类型,但是减就不一样了,”2“-1转换成字符类型,为1
<!DOCTYPE html> <html> <head> <title>js的运算符-数学运算符.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //js中的运算符 // 使用+法时, 如果相加的值包含字符串,会自动转换为字符串类型 var a = "1"+1; alert(a); // 11 alert(typeof(a)); // String //其他数学运算符中,字符串会自动转换为数字 var b = "2"-1; alert(b); // 1 alert(typeof(b)); // number //===================================================================== //关系运算符 alert("2">1);// "2" => 2 //true alert("aa">"aaa");//字符串的比较规则=>asc码的比对 //true </script> </head> <body> </body> </html>
这些比较的运算符有一下和java中的规则是不一样的
<!DOCTYPE html> <html> <head> <title>js的运算符-等性运算符.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //js中的运算符 // == != alert(1 == true); // true alert(2==true); // false alert(0==false); // true alert(0 == null); // false alert(null == undefined); //true alert(NaN == NaN); // false 凡是NaN<pre name="code" class="javascript"><!DOCTYPE html> <html> <head> <title>js的运算符-三木和赋值运算符.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //js中的运算符 var a = 100; var b =20; alert(a>b?"a厉害":"b厉害"); //========================================================================= //下面是赋值运算符 var a ="5"; if(a>3){ alert("haha"); // haha } alert(typeof a); // string </script> </head> <body> </body> </html>【7】三目和赋值运算符
三目和java中的相类型,赋值和java中的率为有点不用,这个要注意
<!DOCTYPE html> <html> <head> <title>js的运算符-三木和赋值运算符.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //js中的运算符 var a = 100; var b =20; alert(a>b?"a厉害":"b厉害"); //========================================================================= //下面是赋值运算符 var a ="5"; if(a>3){ alert("haha"); // haha } alert(typeof a); // string </script> </head> <body> </body> </html>