【JavaScript】3.语法
来源:互联网 发布:马鞍山网络大学招聘 编辑:程序博客网 时间:2024/06/06 00:33
- 注意:script标签可以放在html中任意位置。如果脚本操作的是页面中的局部区域,就放在局部区域的旁边;如果操作很多区域,就放在head标签里面。
- JS中也一样有注释,标识符,关键字,变量,语句,函数,数组等常见语言组成元素。任何一种程序设计语言都具备,只是表现形式不同。
一、注释
- 单行注释
- 多行注释
二、标识符和Java相同
三、变量
- 数据不确定,用变量存储。
- JS是弱类型,使用关键字var,可以存任意数据。
- var和;可以不写,但是建议写上,所以该语言不严谨,灵活。
- 在script中创建的变量,即使定义在语句中,也是全局变量
- 局部变量:定义在函数中的变量
var x = 3;x = "abc"x = "2.3"x = true;var y;alert("y = " + y);//y=undefined
var n = 3;//全局变量function abc(n) { n = 4;//局部变量}abc(n);//局部变了,但是全局没变alert(n);//3
四、运算符
alert(13/10*10);//13alert(13/10);//1.3alert('13'+6);//136,注意这里单引和双引都是字符串alert('13'-6);//7,将13自动转为整数进行运算了,但是避免这种写法//可以讲'13'转位整数在运算alert(parseInt('13')-6)
- && || 是逻辑运算符 ,& | 是位运算符,也支持三元运算符
- 特殊运算符 typeof : 返回操作表达式的数据类型的字符串。
alert(typeof('13'));//stringalert(typeof(13));//numberalert(typeof(1.3));//numberalert(typeof(true));//boolean
- 判断数据类型
alert(typeof('13')=='string');//true
五、语句
- 与Java语句格式相同
- 区别:
var x = 4;if(x = 5) { //x被赋值为5,非0,视为true,应该这样写5==x。//如果写成5=x会没有显示结果,可在网页左下角看到黄色叹号,点击查看详细信息。 alert("yes");} else { alert("no");}//运行结果:yes
alert(true + 2);//3alert(false + 2);//2//在JavaScript中,非0非null即为true,默认为1;否则都是false,默认为0
var x = 4; for(var x=3; x<6; x++) { alert(x); } //for循环里的x和上面的x是一个x,只是再次赋值了
for(var x=3; x<6; x++) {}alert(x);//6,x是全局变量
- 九九乘法表
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title> MyHTML</title><style type="text/css">table td{ border: dotted 1px red;}</style></head><body> <script type="text/javascript"> document.write("<table>"); for(var x=1; x<10; x++) { document.write("<tr>"); for(var y=1; y<=x; y++){ document.write("<td>" + x + "*" + y + '=' + (x*y) + "</td>"); } document.write("</tr>"); } document.write("</table>");</script></body></html>
六、函数
- 没有返回值类型,使用关键字function。
- 格式:
function 函数名(形式参数...){ 执行语句; return 返回值;}
- 没有重载的概念
function show() { alert("show run"); return 4;}var x = show();//show runalert(x);//4
- 函数内置了参数数组(arguments),用于接收实际参数。
- 哪怕函数没有定义形参,实际调用时也可以传入实参,传到了参数数组中。
function show(x,y) {//可以不写var document.write("x = " + x + ",y = " + y);}show(3,5);//x = 3,y = 5show(3);//x = 3,y = undefined show(3,5,4,6);//x = 3,y = 5function show() { document.write(arguments.length);}show(3,5,4,6);//4function show() { for (var i=0; i<arguments.length; i++) document.write(arguments[i] + ",");}show(3,5,4,6);//3,5,4,6,
- js的函数在内存中其实是一个对象,函数名就是指向这个对象的引用。
function show() { return 100;}//var x = show();//运行show方法,将运算完的结果返回并复制给x//document.write(x);//100var x = show;//将show引用存储的对象地址复制给x,x也指向了函数对象//直接打印x,x指向的对象会转换成字符串(其实就是调用了toString方法)document.write(x);//function show() { return 100; }//函数对象的字符串表现形式就是函数的定义形式document.write(x());//100,调用方法
- 动态函数:使用js中已有的内置对象,Function
- new Function(“参数列表”,”函数体”);
/*这个叫定义函数function getSum(x,y) { var sum = x + y; return sum;}*/var getSum = Function("x,y","sum = x + y; return sum;")//动态函数的参数列表和函数体都是可以通过参数指定的var sum = getSum(3,4);alert(sum);//7
- 匿名函数:简化书写
/*function abc() { alert("abc run");}var qq = abc;qq();//abc run*/var qq = function() { alert("qq run");};qq();//qq run
七、数组
- 定义方式1:
var arr = [];//长度为0的数组
var arr = [1,2,3,4];//document.write(arr.length);//4 for(var i=0; i<arr.length; i++) document.write(arr[i] + " ");//1 2 3 4
- js数组是一个容器,长度是可变的,可以存任何类型的数据
- 灵活度高,需要主观控制
<script type="text/javascript"> var arr = [1,2,3,4]; arr[0] = true; arr[2] = 10; arr[5] = "abc"; for(var i=0; i<arr.length; i++) document.write(arr[i] + " ");//true 2 10 4 undefined abc //可以直接输出数组 //document.write(arr);//true,2,10,4,,abc</script>
- 定义方式2:
var arr = new Array();
var arr = new Array(3);//创建了一个长度为3的数组var arr = new Array(3,4);//创建了一个长度为2的数组,元素为3,4
3 0
- 【JavaScript】3.语法
- 3.Javascript语法语句
- javaScript 语法
- javascript语法
- JavaScript 语法
- javascript语法
- Javascript----语法
- javascript语法
- JavaScript 语法
- JavaScript语法
- JavaScript语法
- JavaScript语法
- javascript语法
- JavaScript 语法
- JavaScript语法
- javaScript语法
- javascript语法
- JavaScript语法
- 福州大学 FOJ有奖月赛-2017年4月(校赛热身赛)(DP)
- 学习博客
- Struts2的工作流程
- 统计学习方法(3)——KNN,KD树及其Python实现
- oracle视图、列转行、前几个月、相差秒数、自增主键
- 【JavaScript】3.语法
- uboot的几种启动方式的配置方法。
- 使用PHP访问RabbitMQ消息队列
- 深入分析Java ClassLoader原理
- Python设计模式(四) -- 模板方法模式
- 递归,递推,迭代区别:
- Friends
- HTTP/1.1 协议Expect: 100-continue
- Python并发编程eventlet