首页 > 代码库 > javascript入门及数据类型

javascript入门及数据类型

试了下,js脚本除了不能在当前页面的title标签中,当前页面哪都可以放。但是还是规矩的安置为好。

a标签href属性放个脚本还是很不错的。

1 <a href="javascript:alert(‘还能这样用‘);">点我</a>

当使用如下方法来引入外部的js文件时,script标签就不能包含任何代码了

1 <script type="text/javascript" src="http://www.mamicode.com/bootstrap.min.js"></script>

使用var声明变量,变量会在内存中创建一块空间用于存储数据。

输出变量还可以使用console.log( );在控制台输入。

document.write()向body里面写入内容。document.title()向文档title部分写入内容


 

js数据类型:

1.字符串类型。string 通过单or双引号定义,引号单双无区别

1 var vzero = ‘ zero ‘;var vone  = "this is variable" + vzero;console.log(vone);

2.数值类型。number 小数,整数都是数值类型

1 <script type="text/javascript">2     var str = "hello";3     var result = parseInt(str);        //使用parseInt();可以强制转换为整数型数值4     console.log(typeof(result));       //number5     console.log(isNaN(result));        //true  使用isNaN();可以判断是否不是一个数值6 </script>

3.布尔类型。通常是用来作为条件判断,在php中‘0‘,‘[]‘被转换成false,js中反之。

1 var arr = [];2 console.log(Boolean(arr));    //true

4.函数类型。变量可以保存函数

1 <script type="text/javascript">2     var vone = function(){3     }4     function func(){5     }6     console.log(vone);            //function7     console.log(typeof(func));    //使用function关键字定义函数8 </script>

函数中变量的作用域。在函数外部定义变量就是全局变量,反之局部变量。注意:如果在函数内部声明变量时,没有使用var关键字,表示变量就是全局变量。当在函数内部访问一个标量时,会先在函数内部查找,如果没有找到,则去上一级作用域查找,这个查找的过程称之为作用域链。

1 <script type="text/javascript">2     var vone = ‘global‘;3     function func1(){4         console.log(vone);            //unsigned5         var vone = ‘func1‘;6         console.log(vone);            //func17     }8     func1();9 </script>

函数的参数。除了形参、实际参数之外,还可以通过arguments对象进行管理,第一个参数保存到arguments数组的第一个元素,第二个参数会保存到arguments数组的第二个参数上,以此类推。

1 <script type="text/javascript">2     function Sum(){3         console.log(arguments);4         for (var i = arguments.length - 1; i >= 0; i--) {5             console.log(arguments[i]);    // 7 8 5 16         }7     }8     Sum(1,5,8,7);9 </script>

闭包特性。在函数内部嵌套定义函数的时候,内部函数就会将外部函数的变量的最终值包含起来,保存到内存中,有些类似php的静态变量。

 1 <script type="text/javascript"> 2     function func1(){ 3         var v1 = 10; 4         var func2 = function(){ 5             console.log(v1); 6         } 7         v1 = 20; 8         return func2; 9     }10     var result = func1();11     result();    // 2012 </script>

hint:在函数的外部即可以读取到函数内部的值。

使用此方法可以解决上述问题:

 1 <script type="text/javascript"> 2     function func1(){ 3         var arr = []; 4         for (var i = 3; i > 0; i--) { 5             arr[i] = func2(i); 6         } 7         return arr; 8     } 9     var func2 = function(v){10         return v;11     }12     var result = func1();13     console.log(result[1]);        // 114     console.log(result[2]);        // 215     console.log(result[3]);        // 316 </script>

5.数组类型。使用数组、对象可以保存多个值,可统称为复合类型的数据。

定义数组有两种方式: 

new Array();、快捷语法[];

 

1 new Array(‘value1‘,‘value2‘);

注意,在js中不能定义关联类型的数组。

数组的遍历 可以通过for循环搭配arr.length遍历下标得出数据,或者直接使用for in:

1 var arr = [1,2,3,8,7,5];2 for (var num in arr){3     console.log(arr[num]);4 }

6.对象类型。数组只能定义索引数组,如果保存一些关联类型的数据,可以使用对象。

通过构造器创建对象,new object();

 1 <script type="text/javascript"> 2     function Snake(){                //构造函数(构造器) 3         this.name = ‘小青‘;            //对象成员 4         this.color = ‘green‘; 5         this.eat = function(){        //对象方法 6             console.log(‘吃老鼠‘); 7         } 8     } 9     var result = new Snake();10     console.log(typeof(result));    //object11     alert(result.name);                //小青12     result.eat();                    //吃老鼠13 </script>

通过快捷语法:{}字面量,创建对象

语法格式:

1 var obname =2 {3 属性名:属性值4 方法名:function(){}5 }

通过 new Object()创建对象。

1 <script type="text/javascript">2     var obj = new Object();3     obj.name = ‘大黄‘;4     obj.eat = function (){5         alert(‘runing‘);6     }7     obj.eat();    //runing8 </script>

访问对象的成员可以通过点的方式,也可以使用[]语法。

 1 <script type="text/javascript"> 2     function Snake(){                //构造函数(构造器) 3         this.name = ‘小青‘;            //对象成员 4         this.color = ‘green‘; 5         this.eat = function(){        //对象方法 6             console.log(‘吃老鼠‘); 7         } 8     } 9     var snake = new Snake();10     for (var attr in snake){11         console.log(snake[attr]);12     }13 </script>

7.null类型。指一个空对象的指针,可以理解为空对象的占位符。

1 var obj = null;2 console.log(typeof(obj));

8.undefined类型。函数没有返回值,或声明了变量,但是未初始化值,他就是undefined

1 <script type="text/javascript">2     function Snake(){3     }4     console.log(Snake());5     var vone;6     console.log(vone);7 </script>

 

javascript入门及数据类型