文档章节

javascript

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 1080
阅读 3
收藏 0

JavaScript语法

每一种语言都有自己的语法规则,JS语法与Java很像,所以学习起来比较容易。JS中也一样有变量,语句,函数,数组等常见语言组成元素。

1. 变量

通过关键字var来定义,弱类型既是不用指定具体的数据类型。

例:var x = 3; x = “hello”;

注:JS中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined(未定义)。

注意:Javascript的语句在结尾处是可以不用分号结束的,非严谨语言的特点。

但为了符合编程规范,需要象java一样定义结束符。

而且有些情况是必须写分号的,如:var x = 3 ; var y =5 如果两条语句写在同一行,就需要分号隔开。

2. 运算符

Javascript中的运算符和Java大致相同。

只是运算过程中需要注意几点:

1, var x = 3120/1000*1000; x = 3120;而不是3000。

2, var x = 2.4+3.6 ; x = 6;而不是6.0

3, var x = “12” + 1; x = “121”; x = “12” – 1 ; x = 11;

加号对于字符串是连接符

4, &&  || 是逻辑运算符  & | 是位运算符。

5, 也支持三元运算符  ? :

6, 特殊运算符 typeof : 返回一个操作表达式的数据类型的字符串。

var x = 3;

var y = “123”;

var z = false;

typeof(x); //number

typeof(y); //string

typeof(z); //boolean

3. 语句(与Java语句格式相同)

1. 判断结构(if语句)

注:var x = 3;

if(x==4)//可以进行比较运算。

if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。

因为在Js中0或者null就是false,

非0或者非null就是true(通常用1表示)。

所以if(x=4)结果是true;

可以通过if(4==y)来解决该问题。因为4=y不会进行判断,而是会报错。

2. 选择结构(switch语句)

与java不同的是:因为弱类型,也可以对字符串进行选择。

3. 循环结构(while语句,do…while语句,for语句)

注:不同的是,没有了具体数据类型的限制,使用时要注意。

4. 函数%%%%%

1. 一般函数

格式:

function  函数名(形式参数...)

{

执行语句;

return 返回值;

}

函数是多条执行语句的封装体,只有被调用才会被运行。

注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行。

说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行。

那么传递的参数呢?其实,在函数中有一个参数数组对象(arguments),该对象将传递的参数都封装在一个数组中。

例:

function demo()//定义函数。

{

alert(arguments.length);

}

demo(“hello”,123,true);//调用函数。

那么弹出的对话框结果是3,如果想得到所有的参数值,可以通过for循环遍历该数组。

for(var x=0; x<arguments.length; x++)

{

alert(arguments[x]);

}

为了增强阅读性,最好按照规范,按定义好的形式参数传递实际参数。

函数在调用时的其他写法:

var show = demo();//show变量接收demo函数的返回值。

var show = demo;//这种写法是可以的,意为show和demo代表同一个函数。

//那么该函数也可以通过show()的方式运行。

匿名函数

格式:function(){...}

例:var demo = function(){...}

demo();

通常在定义事件属性的行为时较为常用。

例:

function test()

{

alert("load ok");

}

window.onload = test;

可以写成匿名函数的形式:

window.onload = function()

{

alert("load ok");

}

匿名函数就是一种简写格式。

动态函数

通过Js的内置对象Function实现。

例:var demo = new Function(“x,y”;”alert(x+y);”);

demo(4,6);

如同:

function demo(x,y)

{

alert(x+y);

}

demo(4,6);

不同的是,动态函数,参数以及函数体都可以通过参数进行传递,可以动态指定。

5. 数组

方便操作多元素的容器,可以对其中的元素进行编号。

特点:可以存任意元素,长度是可变的。

格式:

var arr = new Array();

arr[0] = “hello”;

arr[1] = 123;

var arr = [‘hello’,123,true,”abc”];

通过遍历即可对数组进行基本操作。

for(var x=0; x<arr.length; x++)

{

alert(arr[x]);

}

© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平

暂无文章

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部