JavaScript 基础篇之运算符、语句(三)

基础篇

javascript:运算符

其实运算符大家要是有计算机语言基础应该都知道,可能甚至比我还精通,这样我就不多解释了,就来说说其它几个生疏的吧!

 1、in 运算符:in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数是一个数组或者对象,如果左边的值是右边的对象的一个属性,它返回true.

 var objvalue = {x:1,y:7};
document.write("x is in objvalue:" + ("x" in objvalue) +"<br />");
//输出 x is in objvalue:true

 2、条件运算符(?:)

该运算符是javascript中唯一的三元运算符(3个运算数),第一个运算数必须是一个布尔值,第二个和第三个运算数可以是任何类型的值。如果运算数的值未true,值就是第二个运算数的值,flase-就是第三个运算数。

document.write(1>0?8:4)
//输出8,1肯定大于0所以就返回第二个运算数

3、typeof运算符

typeof 是个一元运算符,用于判断运算数的类型,比如运算的是数字返回number,字符串就返回string。要注意:对null它返回也是object类型。这个运算符用的还是比较多。

document.write("typeof number 8:" + typeof 8 +"<br />");//输出typeof number 8:number
document.write("typeof string money :" +typeof("money")+"<br />");//输出typeof string money :string
document.write("typeof boolean true :"+typeof(true) + "<br />");//输出typeof boolean true :boolean
document.write("typeof Array :"+typeof([]) + "<br />");//输出typeof Array :object
document.write("typeof Null :"+typeof(null) + "<br />");//输出typeof Null :object
document.write("typeof Undefined:"+typeof(undefined) + "<br />");//输出typeof Undefined:undefined

4、delete 运算符

delete也是一个一元运算符,用于删除运算数所指定的对象的属性,数组元素或变量,如果删除成功就返回true,如果运算数不能被删除,它将返回false。

var deleteobj = {one:"one",two:"two",three:"three"};
document.write("delete element is succeed:" + (delete deleteobj.one) +"<br />");//输出delete element is succeed:true
document.write("select one in deleteobj :" + typeof(deleteobj.one)+"<br />");//输出select one in deleteobj :undefined
document.write("delete element is succeed:"+(delete deleteobj) +"<br />");//输出delete element is succeed:false
document.write("delete defined x:" + (delete x) + "<br />");//输出delete defined x:true
var x = 1;

//上面反映了delete,能删除对象的属性,变量,不能删除对象,没定义的变量。

javascript:语句

1、if,else if语句

由于是基本的语句,我就不多介绍了,直接来几个例子吧,下面的控制语句以后会常用。

var expression;
if(!expression) document.write("我声明了,但没未定义值" +"<br />"); //输出:我声明了,但没未定义值
//因为expression 的值是undefined未定义,在用到boolean类型中,转换成了false。
if(!null)document.write("我用到boolean中也是false"+"<br />") //输出:我用到boolean中也是false
var obj1 = {};

if(obj1)document.write("obj1不是个null对象"+"<br />");//输出obj1不是个null对象
if(!obj1.one)document.write("obj1.one是个null对象"+"<br />");//obj1.one是个null对象

类似以上的语句以后大家可能会经常用,要能理解。不能马虎

 2、switch语句、while、do...while 、for、for...in

上面的语句和其它语言没什么特别之处,就直接上我上个月学习C#做的题目,不过咱们这次是用javascript.

//执行给数组排序
function comparenumber(objarr1)

{
if(!objarr1)
{
throw("参数不能为空!");
return;
}
var finished = true;//用于控制while循环
do

{
finished = false;
for(var i=0;i<objarr1.length;i++)//变量数组 length属性返回数组的长度
{

if(objarr1[i]>objarr1[i+1])//比较
{

var temp = objarr1[i];
objarr1[i] = objarr1[i+1];
objarr1[i+1] = temp;
finished = true;//继续循环,直到上面的比较条件不满足是while就不循环了。
}

}
}while(finished);
}
//该函数执行的是打印任务
function displayarray(arr)

{
for(var val in arr)
{
document.write(arr[val] +"\t");//\t 是制表符
}
}
var numberarray = [34,45,2,3,54,65,123];//声明一个数组
comparenumber(numberarray);//排序
displayarray(numberarray);//输出
//输出:2 3 34 45 54 65 123

 3、with 语句

使用with可以减少大量的输入,在javascript客户端中,深度嵌套的对象就可以使用with了,但是它运行的速度要慢。

小结:其实还有很多其它语句,在这里我就不多重复写了。

 

posted @ 2012-03-31 19:21  ben2012  阅读(393)  评论(0编辑  收藏  举报