🍹 JavaScript是一门严格区分大小写、面向对象的动态解释型语言,诞生于1995年,主要用于处理网页中的前端验证。
1 标签引用 1 2 3 <script> alert ("Hello world~" ) </script>
2 文件引用
文件引用
在一个单独的Js文件中也可编写JavaScript代码。
然后在HTML文件中使用script
标签来进行引用。
2-1 main.js
2-2 main.html 1 <script src="main.js" ></script>
3 输出注释 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <script> alert ("Hello world~" ); document .write ("Hello world~" ); console .log ("日志" ); console .info ("信息" ); console .warn ("警告" ); console .error ("错误" ); </script>
4 基本使用
基本使用
标识符:给变量、函数、属性或函数的参数起名。
字面量:一些固定值,不可改变,很少直接使用。
变量:作用是给某一个值或对象标注名称,值可反复使用。
4-1 变量声明 1 2 3 4 5 6 7 8 <script> var a; a = 123 ; var b = 456 ; </script>
4-2 数据类型
数据类型
五种基本数据类型
字符串型:String
数值型:Number
布尔型:Boolean
undefined型:Undefined
null型:Null
这五种之外的类型都称为Object,所以总共有六种数据类型。
1 2 3 4 5 6 7 8 9 <script> console .log (typeof 123 ); console .log (typeof null ); console .log (typeof "Hi~" ); console .log (typeof false ); console .log (typeof undefined ); </script>
(1) 转为String类型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <script> var a = 123456 ; a = a.toString (); console .log (a); console .log (typeof a); var e = 123456 ; e = e + "" ; console .log (e); console .log (typeof e); var b = 123456 ; b = String (b); console .log (b); console .log (typeof b); var d = null ; d = String (d); console .log (typeof d); var c = undefined ; c = String (c); console .log (typeof c); </script>
(2) 转Number类型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 <script> var c = " " ; c = Number (c); console .log (c); var d = false ; d = Number (d); console .log (d); var e = null ; e = Number (e); console .log (e); var a = "123" ; a = Number (a); console .log (a); var b = "12a" ; b = Number (b); console .log (b); var f = undefined ; f = Number (f); console .log (f); var g = "123abc" ; g = parseInt (g); console .log (g); console .log (typeof g); var h = "123.45" ; h = parseFloat (h); console .log (h); console .log (typeof h); </script>
(3) 转Boolean类型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <script> var a = 0 ; a = Boolean (a); console .log (a); var b = NaN ; b = Boolean (b); console .log (b); var c = "" ; c = Boolean (c); console .log (c); var d = null ; d = Boolean (d); console .log (d); var e = undefined ; e = Boolean (e); console .log (e); var f = Object ; f = Boolean (f); console .log (f); </script>
5 条件语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <script> var age = 28 ; if (age < 30 ) { console .log ("不想长大" ); } if (age < 30 ) { console .log ("不想长大" ); } else { console .log ("该长大啦" ); } if (age < 30 ) { console .log ("不想长大" ); } else if (age == 30 ) { console .log ("而立之年" ); } else { console .log ("该长大啦" ); } var today = 5 ; switch (today) { case 1 : console .log ("才星期一" ); break ; case 2 : console .log ("才星期二" ); break ; case 3 : console .log ("星期三啦" ); break ; case 4 : console .log ("星期四啦" ); break ; case 5 : console .log ("星期五耶" ); break ; case 6 : console .log ("星期六啦" ); break ; case 7 : console .log ("星期日咯" ); break ; default : console .log ("你输错啦" ); } </script>
6 循环语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <script> var a = 1 ; while (a <= 3 ) { console .log (a); a++; } console .log ("*" ) var b = 1 ; do { console .log (b); b++; } while (b <= 3 ); console .log ("*" ) for (var c = 1 ; c <= 3 ; c++) { console .log (c); } </script>
7 跳转控制 1 2 3 4 5 6 7 8 9 10 11 12 <script> outer : for (var i = 0 ; i < 10 ; i++) { for (var j = 0 ; j < 10 ; j++) { if (j == 5 ) { break outer; } console .log (j); } } </script>
8 对象基础 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <script> var person = new Object (); person.name = "刘一" ; person.food = "蛋糕" ; console .log (person); var animal = { name : "咪咪" , type : "猫咪" }; console .log (animal); console .log ("name:" , person.name ); console .log ("name:" , animal["name" ]); delete person.food console .log (person); for (var animalKey in animal) { var animalVal = animal[animalKey]; console .log (animalKey + ": " + animalVal); } </script>
9 函数使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <script> var fun1 = new Function ("console.log('函数创建1')" ); function fun2 ( ) { console .log ("函数创建2" ); }; var fun3 = function ( ) { console .log ("函数创建3" ); } fun1 (); fun2 (); fun3 (); var sum1 = function (num1, num2 ) { var result = num1 + num2; console .log ("num1 + num2 = " + result); } sum1 (10 , 20 ); function sum2 (num1, num2 ) { return num1 + num2; } var result = sum2 (30 , 40 ); console .log ("num1 + num2 =" , result); </script>
9-1 this对象
this对象
JavaScript中,解析器在调用函数时,每次都会向函数内部传递一个隐含的参数。
该隐含参数就是this,this指向一个对象,这个对象称为函数执行的上下文对象。
根据函数调用方式的不同,this会指向不同的对象。
以函数的形式调用时,this永远都是指window。
以方法的形式调用时,this则是调用方法的那个对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <script> var name = "全局变量" ; function fun ( ) { console .log (this .name ); } var obj = { name : "张三" , sayName : fun, }; obj.sayName (); </script>
9-2 嵌套函数 1 2 3 4 5 6 7 8 9 10 <script> function one ( ) { function two ( ) { console .log ("嵌套函数" ); } two (); } one (); </script>
9-3 匿名函数 1 2 3 4 5 6 7 <script> var fun = function ( ) { alert ("匿名函数" ); } fun (); </script>
9-4 立即执行函数 1 2 3 4 5 6 <script> (function ( ) { alert ("立即执行函数" ); })(); </script>
9-5 对象中的函数 1 2 3 4 5 6 7 8 9 10 11 12 13 <script> var person = { name : "刘一" , food : "樱桃" , sayHello : function ( ) { console .log (person.name + ",你好呀!" ) } } person.sayHello (); </script>