Heim >Web-Frontend >js-Tutorial >Javascript入门学习第三篇 js运算_基础知识

Javascript入门学习第三篇 js运算_基础知识

PHP中文网
PHP中文网Original
2016-05-16 19:03:071000Durchsuche

上篇文章讲了js中的传值和传址 和 函数的作用域. 这章我们来探讨js中的变量,表达式,和运算符 还有一些 js 语句。   升级中……

1, 表达式:
最简单的表达式:直接量或者变量名。var a =1;
直接量表达式的值:本身。
变量表达式的值:该变量所存放或引用的值。

2 , 运算符:
一元运算符: 比如  - 3 
二元运算符: 比如  3+4 
三元运算符: 比如  ?   :    

新手常遇到的问题:
递增运算符:
比如:
i  =  1 ;
j  = ++ i ; // 前递增运算,即先对运算数进行递增,然后再去计算。
//输出   i  =2;    j=2 ;

i  =  1 ;
j  =  i ++; // 后递增运算,即先去计算,然后再对运算数进行递增。
//输出   i  =2;    j=1 ;

3, 相等运算符:
=   :  赋值运算符;
==  : 相等运算符;
=== : 等同运算符;
值NaN永远不会与任何值相等,包括自己。
alert(NaN == NaN); //false  NaN 意思为 Not  a  Number
要检测一个值是否是NaN,可以使用全局函数isNaN();

另外新手要注意:
var a =[1,2,3];
var b =[1,2,3];
document.write(a==b); // 输出false .(这个其实是 第一章讲的内容。)
                   // 虽然值相同,类型相同,但址不同。
--------------------------------------------------------
var a =[1,2,3];
var b = a ;
var c = a ;
document.write(b===c);//输出true;
--------------------------------------------------------
var a = "1";
var b = true ;
document.write(a==b);  //输出 true
document.write(a===b); //输出 false   ; 值相同, 类型不同

4, 比较运算符:
要注意的就是字符串是进行琢个比较。
而且会区分大小写。
如果你的需求是不区分大小写:
可以使用 String.toLowerCase() //纯小写
String.toUpperCase()  //纯大写  转换后 ,然后再去比较.

5, in 运算符:
要注意的是:左边的值是其右边对象的属性。
比如:
var  a  = { x : 1  , y : 2 };
var  b  = “x” in a ;   //  true
var  c  = “toString” in a ;  //  true  . 左边的值是其右边对象的属性。

6 instanceof 运算符:
要注意的是:左边的运算数是一个对象,右边的运算数是对象类的名字。
比如:
var a = new Date()
a instanceof Date; // true
a instanceof Object ; // true
a instanceof Number ; // false 

7, 3元条件运算符:
要注意的是:第一个运算数必须是一个布尔值。
X > 0 ? 3 : 2 ;

8, typeof运算符:
要注意的是:由于typeof对所有的对象和数组都是返回 object;
所以它只能区分对象和原始数据类型时才有用。
要区别一种对象类型和另一种对象类型,可以使用 instanceof 和 constructor 属性。

9, delete运算符:
要注意的是:并不是所有的属性和变量都能删除。
比如:
用var 语句声明的变量不能被删除。
另外;当delete删除一个不存在的属性时,返回true;(^_^,这个比较搞笑。)
var a = 1;
alert(  delete a  );  //返回 false
alert(  delete a.x  );  //返回 true
还有一个应该注意:
Delete 所能影响的只是属性值,并不能影响被这些属性引用的对象。
比如:
var my =new Object();
my.height = new Date();
my.width = my.height;
delete my.height ;
document.write(my.width);// my.width仍然是引用Date对象

10,void运算符:
void的一个用途: 专门生成undefined值、
alert( void(0) )
alert( void(1) ) //都输出 undefined
这里的undefined实际是 void()运算后的值。
考虑到向后兼容性,用表达式void 0 比使用 undefined属性更有用.

11,异常处理:
抛出异常: throw
捕捉异常:try / catch / finally
If(x>0)
  throw new Error(“x must not be negative!”);


try{
}
catch(e){
}
finally{  //总是被最后执行  。通常进行 消除操作。
}

12,with语句:
   var form =  frame[1].document.forms[0];
   form.name.value = “ “;
   form.address.value =” “;
这样可以使用with语句代替;
比如:
with(frame[1].document.forms[0]){
   name.value = “ “;
   address.value =” “;


当然书上强烈不推荐使用with, 呵呵。效率低,问题多多。
总结:
主要介绍了js中的变量,表达式,和运算符 还有一些 js 语句。
如果还有不懂,可以google 搜索资料. (学会使用搜索,你也就很厉害了。)
或者联系我 ,可以去我的blog 给我留言 :
转眼间,学了3章了, 不知道大家感觉如何。
  将就些吧,学习最重要的还是靠自己,不懂或者有疑问的地方马上 写例子测试,验证。或者查资料。  这样可能印象会更深入些。 
  加油…….

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn