您的位置:首页 > Web前端 > JavaScript

Javascript基础语法

2014-10-26 20:42 155 查看
1.函数定义赋值的说明

var f = function test(para){console.log(test);}
f(123); //ok
//f();//无参数的函数 undefined
//test(); //undefined,test仅仅在函数定义的时候作为一个局部变量,在赋值给f之后就不存在啦。
alert(f); //调用alert和console.log输出函数时,调用的是其toString方法

2.基础语法大多和C语言一模一样。

差异:支持数组,关联数组,try catch,变量宽松类型。

try语法:

var newerr = new Object();

newerr.message = "error message"; /* 定义对象后,可以直接通过这种方式添加属性并赋值 */

try{

if (a == "")

throw newer;

}catch(err){

alert(err.message)

}

javascript区分大小写

一行单条语句可以不需要; 如果多个语句放在一行每条语句用;隔开

支持单行,多行注视 //    /* */

关于script代码,建议将其放在body部分的最后加载。

这样可以让网页先加载需要显示的内容,从而加速。

<script type="text/javascript" src="file.js"></script>

注意,现在各大浏览器将默认脚本指定为javascript所以,type="text/javascript"就不需要写了。

javascript支持bool类型变量,true,false

不提供预先长度数组
var tmp = Array() // Array必须要大写首字母。当然也可以不需要声明直接使用下面的数组。

var tmp = Array(4) //声明长度为4的数组。

tmp[0] = 1

tmp[1] = 2

初值数组,并且可以将变量,数组等都可以作为成员。

var tmp2= Array(tmp1,"john", "paul", true, 1)

想获得tmp2数组成员的第一个,第一个也是数组,获得第一个数组的第一个则写法类似二维数组 tmp2[0][0]

添加类似字典的关联数组 同PHP

tmp3["newdata"] = "newdata"

tmp3["newdata2"] = "newdata2"

这种关联数组,其实就是定义了一个对象tmp3,然后给tmp3添加了新的属性。在javascript中所有的变量实际上是某种类型的对象。对象的定义方法如下:

var tmp = new Obejct()

tmp.newdata = "newdata"

tmpk.newdata2 = "newdata2"

其实这种与上面说的关联数组很类似,只是不能用方括号来访问。

创建对象更简洁的方法:{propertyName:value, propertyName:value}

例:var tmp = {newdata:"newdata", ...}

当然也可以先创建一个空的对象,然后直接通过.动态追加,类似python

var tmp = {}

tmp.newdata = "new";  //追加一个属性,同时给值

字符串+数字 进行运算的话: 会先将数字转换为字符串然后相加 即“10“+10 结果为 ”1010“

支持 前置后置++ +=运算,支持do while,while do。当然函数可以有参数,返回值。

全局和局部变量,和PHP,C等其他语言相反。

函数中的变量,如果没有使用var进行声明的,则都被认为可能不是局部变量,也就是说如果某个变量不是var声明的,碰巧有个全局变量与之重名,则就会改变该全局变量。所以函数内部的变量,一定要用var声明。

globalvar = 100

functtion testfunc()

{
globalvar = 3; //由于globalvar没有用var声明限制,则认为是全局变量。

}

对象

在创建对象的时候需要用new关键字,有很多内建对象比如:Date,Array等等。

var Jhon = new Person;

宿主对象
除了javascript中定义的对象,浏览器还提供了很多对象,称之为host object。这些对象包括Form Image,Element等等。

运算符

1) 位运算与C语言相同。

按位取反NOT操作 ~

按位与 &

按位或 |

按位异或 ^

2) 移位操作

左移<< 右移>>

逻辑右移动

>>>

没有逻辑左移动,因为都在右边补0,逻辑算数是一样的。

3) 逻辑运算,与C相同。

&& || ! 

《完》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: