javascript入门及数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript入门及数据类型相关的知识,希望对你有一定的参考价值。

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

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

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

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

1 <script type="text/javascript" src="./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));       //number
5     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);            //function
7     console.log(typeof(func));    //使用function关键字定义函数
8 </script>

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

1 <script type="text/javascript">
2     var vone = ‘global‘;
3     function func1(){
4         console.log(vone);            //unsigned
5         var vone = ‘func1‘;
6         console.log(vone);            //func1
7     }
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 1
6         }
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();    // 20
12 </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]);        // 1
14     console.log(result[2]);        // 2
15     console.log(result[3]);        // 3
16 </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));    //object
11     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();    //runing
8 </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入门及数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript入门基础之概述变量数据类型运算符

python前端JavaScript入门及进阶

Javascript·常见错误及用法习惯(新手入门)

(转) Java中的负数及基本类型的转型详解

网站前端_JavaScript-基础入门.0009.JavaScript对象类型

Python从入门到进阶5变量的定义及数据类型