博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js有别于java的一些语法(了解)
阅读量:5994 次
发布时间:2019-06-20

本文共 2113 字,大约阅读时间需要 7 分钟。

hot3.png

1.switch可用于字符串:

1 var a = 'abc';
2 switch(a){
3     case 1: alert("number");break;
4     case true:alert('boolean');break;
5     case 'abc': alert('String');break;
6 }
2.with语句: 
1 with(document){
2     writeln('hello');
3     writeln('world');
4 }//这样就不用每次都写document.writeln(...)

3.foreach语句:

1 function Person(name ,gender){
2     this.name = name;
3     this.gender = gender;
4     this.shout = function (){return 'shut up !';}
5 }
6 var p = new Person('macondo','male');
7 for(var i in p){
8     document.writeln(i+' = '+p[i]+'<br>');
9 }
这里foreach语句比java中得更进一步,原因是p.name也可以写成p['name'] 
4.数组: 
01 var fruit = new Array();
02 fruit.push('apple');//等同于fruit[0] = 'apple'
03 fruit.push('pear');//等同于fruit[1] = 'pear'
04 //等同于var fruit = new Array('apple','pear');
05 //等同于var fruit = ['apple','pear'];
06 fruit['a']='orange';//我觉得就像fruit.a='orange',其实它不再数组里,而是fruit的一个属性
07 //fruit.a='orange';
08 for (var i in fruit){
09     document.writeln(i+' = '+fruit[i]+'<br>');
10 }  
11 var t = fruit.length;//这里必须先把length赋给t
12 for(var i=0;i<t;i++){//若再for循环里用length, pop()一下length就被改变了
13     document.writeln('pop:'+fruit.pop()+'<br>'); 
14 }
15 document.writeln(fruit['a']);//下目标为‘a'的元素没被删除,且不会被pop掉

5.js中的数据类型有:string,boolean,number,undefined,function(函数也是对象),其他的都是object类型,可以同typeof运算符得到数据类型

01 function add(a,b){return a+b;}
02 with(document){
03     writeln(typeof e);//undefined
04     writeln(typeof 4.5);//number
05     writeln(typeof (1/0));//number
06     writeln(typeof true);//boolean
07     writeln(typeof '');//string
08     writeln(typeof add);//function
09     writeln(typeof new add());//object
10     writeln(typeof null)//也是object?
11     writeln('<br>');
12     writeln(typeof new Boolean('abc'));//objcet,因为boolean也是继承自object
13     writeln(typeof Boolean('abc'));//boolean,这里是强制类型转换,把'abc'变成true
14     writeln(typeof new String('abc'));//同上
15     writeln(typeof String(true));          
16 }

不知为什么null竟然也是object,我的理解是除了原始数据类型(number,boolean,string等)之外,其他的包括(Boolean,String)都是object继承来的。Boolean和boolean是有一点区别的

6.函数可以先使用,后声明

7.除了在函数里面声明的变量是local variable之外,在for,if等{}块中声明的变量是全局变量

8.js numbers are 64-bit floating point numbers (ex. var a=444;) 

9.字符串可用<、>比较大小

转载于:https://my.oschina.net/u/1403171/blog/185815

你可能感兴趣的文章
CentOS7 安装man中文手册
查看>>
Java——接口
查看>>
ios view的frame和bounds之区别(位置和大小)
查看>>
第十六课 lvm及磁盘小案例
查看>>
sed命令之练习集
查看>>
链表的代码实现
查看>>
mybatis学习笔记,问题总结
查看>>
Static、const、extern区别
查看>>
Linux基础教程 linux无密码ssh登录设置
查看>>
Linux日志文件总管——logrotate
查看>>
INNODB 关键特性
查看>>
计算机系统(一)
查看>>
Day-5
查看>>
字符串的处理[C#]
查看>>
CentOS7 下安装 ansible
查看>>
C#连接Excel和生成Excel
查看>>
wpsca几种使用方法
查看>>
我的友情链接
查看>>
读取局域网ip
查看>>
shell 笔记3
查看>>