javascript变量 数组 引用类型

一 全局变量和局部变量

全局变量:(1)在方法外部声明的变量(2)方法内部,没有加var关键字声明的变量
局部变量:方法内部,使用var声明的变量
<script type="text/javascript">
var a=3; //全局变量
function test(){
var a=2; //局部变量
alert(a);
}
test();
</script>
结果:

如果注释掉var a=2;

<script type="text/javascript">
// var a=3; //全局变量
function test(){
var a=2; //局部变量
alert(a);
}
test();
</script>

结果:

若将程序改为:

<script type="text/javascript">
function test(){
c=5; //相当于全局变量
}
alert(c);
test();
</script>

结果为:

c虽然是全局变量,但是要先执行函数test(),才能执行到c。也就是说,javascript是由上而下执行的。

二 数据类型

1.基本数据类型:Number,Boolean,String,Undefined,Null

Number:整数,小数,NAN,Infinity(正无穷),-Infinity(负无穷)

Undefined:表示变量声明但是未赋值

Null:表示一个空的对象引用

例:var a=1/0;并不会报错,会返回Infinity

2.引用类型:Object类(如对象、数组、RegExp、Date...)

3.typeof操作符:用来判断数据类型

var a=10;alert(typeof a);

页面显示的是number

其中,基本类型按值访问,引用类型按引用访问。

三 数组

js数组类似于java容器,长度可变,元素类型也可以不同

<script type="text/javascript">

var arr=[1,false];

var result=arr.push(2,true,"abc");

alert(arr);

alert(result);

</script>

结果为:

其中,push()函数会向数组中添加元素,并会返回新数组的长度

<script type="text/javascript">

var arr=[1,false,2,"dfr"];

var obj=arr.pop();

alert(arr);

alert(obj);

</script>

结果:

其中,pop()函数可以从数组的尾部移除一个元素,并返回移除的元素值

shift()函数从头部移除一个元素,unshift()函数从头部插入多个元素,并返回新数组的长度

<script type="text/javascript">

var arr=[1,2,4,6,3];

arr.splice(1, 2,3,4,5);

alert(arr);

</script>

结果:

其中,splice()的第一个参数表示起始位置,第二个参数表示截取的个数,第三个参数以后表示要追加的新元素

若是只有两个参数,arr.splice(1,2);结果为

程序若改为:

<script type="text/javascript">

var arr=[1,2,4,6,3];

arr.slice(2,4);

alert(arr);

</script>

结果:

slice()函数截取范围:左闭右开区间,不操作数组本身,返回截取的内容,而splice方法会操作数组本身

修改程序:

<script type="text/javascript">

var arr=[1,2,4,6,3];

var result=arr.slice(2,4);

alert(result);

</script>

结果:

<script type="text/javascript">

var arr1=[1,2,3];

var arr2=[2,3,4];

var result=arr1.concat(arr2);

alert(result);

</script>

结果:

同理,concat()合并粘贴,不操作数组本身

<script type="text/javascript">

var arr1=[1,2,3];

var result=arr1.join(‘-‘);

alert(arr1)

alert(result);

</script>

结果为:

join()方法在每个元素之间加入内容,也不操作数组

sort()方法正序排序,reverse()方法倒序排序

四 引用类型

<script type="text/javascript">

var obj={};

obj.name=‘张三‘;

obj.age=20;

obj.say=function(){

alert(‘hello world‘);

}

alert(obj.name);

obj.say();

for(var attr in obj){

alert(attr);

}

</script>

注意:for循环遍历的是obj的属性,即attr的值为name,age,say

若想遍历值,则改为obj(attr)

时间: 2024-10-11 23:29:47

javascript变量 数组 引用类型的相关文章

JavaScript基本类型和引用类型的值

JS变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型指的是简单的数据段,而引用类型值那些由多个值构成的对象: 在将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值.JS有5种基本数据类型:Undefined, Null,Boolean,Number和String.这5种基本数据类型是按值访问的.因为可以操作保存在变量中的实际的值. 引用类型的值保存在内存中的对象.与其他语言不同,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间.

第一百零六节,JavaScript变量作用域及内存

JavaScript变量作用域及内存 学习要点: 1.变量及作用域 2.内存问题 JavaScript的变量与其他语言的变量有很大区别.JavaScript变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已.由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变. 一.变量及作用域 1.基本类型和引用类型的值 ECMAScript变量可能包含两种不同的数据类型的值:基本类型值和引用类型值.基本类型值指的是那些保存在栈

JavaScript 变量、作用域和内存问题

按照ECMA-262第三版的定义,JavaScript的变量与其他语言的变量有很大区别.JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已.由于不存在定义某个变量必须要保存何种数据类型的规则,变量的值及其数据类型可以在脚本的生命周期内改变.尽管从某种角度看,这可能是一个既有趣又强大,同时又容易出问题的特性,但JavaScript变量实际的复杂程度还远不止如此. 1,基本类型和引用类型的值 ECMAScript变量可能包含两种不同类型的值:基本类型值和引用类

javascript中数组的22种方法

× 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和val

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型.那么先来看下javascript都有那些变量类型已经它们的使用方法吧. 先来看看javascript都有那些类型吧: string --- 字符串number --- 数值boolean --- 布尔值undefined --- 未申明的变量 或 申明并未赋值null --- 空object  --- 对象function  --- 函数 这里比较有争议的是 function 类型到底要不要归属到变量类

由浅入深JavaScript——变量和原始类型

JavaScript变量 JavaScript变量标识符标识符 var + 变量名称来定义变量.变量名称以字母,下划线_,美元$符号开头,余下字符可以是字母,数字,下划线,美元符号.eg: var  name = 'hello';     var  a1 = 'hello';    var  _test = 'hello';    var  $test = 'hello';    以上变量名称均为正确.    var  1a = 'hello'; //数字开头错误.    JavaScript允

JavaScript 变量的作用域

一. 基本类型和引用类型 基本类型值指的是简单的数据段,而引用类型值指的是那个可能由多个值组成的对象   将一个值赋值给变量时,javascript解析器首先要确定是基本类型还是引用类型,基本数据类型可以直接操作保存在变量中的值,而引用数据类型的值是保存在内存中的对象,在操作对象时,实际上操作的是对象的引用而不是实际的对象 二. 变量的赋值 1. 如果从一个变量上向另一个变量上复制__基本数据类型__的值,会在变量对象上创建一个新值,然后把该值复制到新变量的位置上,这个很好理解,来看下例子: v

javascript中数组的22种方法 (转载)

前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和valueOf()方法 [toString()] toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 [注意]该方法的返回值与不使用任何参数

2015第35周五JavaScript变量

java语言里有一句很经典的话:在java的世界里,一切皆是对象. Javascript虽然跟java没有半点毛关系,但是很多会使用javascript的朋友同样认为:在javascript的世界里,一切也皆是对象. 其实javascript语言和java语言一样变量是分为两种类型:基本数据类型和引用类型. 基本类型是指:Undefined.Null.Boolean.Number和String:而引用类型是指多个指构成的对象,所以javascript的对象指的是引用类型.在java里能说一切是对