JavaScript语法及规则
一、注释
1、单行注释
//
2、多行注释
/**/
二、变量
1、声明
var 变量名; //默认值为undefined
2、赋值
var 变量名=值;
3、要求
在声明 Javascript 变量时,需要遵循以下命名规范:
- 必须以字母或下划线开头,中间可以是数字、字符或下划线
- 变量名不能包含空格等符号・
- 不能使用 Javascript 关键字作为变量名,如:function
- Javascript 严格区分大小写。
4、基本数据类型
类似于 java 中的基本数据类型
string | 字符串类型 | " "和’ '都是字符串,JavaScript中没有单个字符 |
---|---|---|
boolean | 布尔类型 | 固定值为true和false |
number | 数字类型 | 任意数字 |
null | 空 | 一个占位符 |
undefined | 未定义类型 | undefined |
注:因为 undefined 是从 nul 中派生出来的,所以 undefined==null
Javascript 区别于 java,是弱类型语言,变量的使用不用严格遵循规范,所以一个变量声明好之后,是可以赋予任意类型的值。
通过typeof
可以分辨变量属于哪种基本数据类型
null返回object,是一个bug不用管
5、引用数据类型
处理的引用数据类型都是对象
创建方式
var str = new String(); //和java相同
var str = new String; //js独有
//都可以
三、运算符
js和java运算符基本一致
以下为js与java不同的地方
1、比较运算符
== | 等于 |
---|---|
=== | 全等(值和类型) |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== 逻辑等,仅仅对比值
=== 全等,对比值并且对比类型
值和类型都相同则为ture,否则则为false
2、逻辑运算符
&& | and |
---|---|
|| | or |
! | not |
js没有&
四、正则对象
1、RegExp对象的创建方式
var reg = new RegExp("表达式"); //基本不用
var reg = /^表达式$/; //常用,直接量
直接量方式的正则是对象,而不是字符串
适用于表单校验
2、test方法
会去检查是否符合正则
var reg = /^表达式$/;
var flag = reg.test("字符串");
alert(flag);
匹配返回true,不匹配返回false
3、普通方式
var reg = /表达式/;
除非全部字符不符合正则,才返回false
只要有一个字符符合正则,则返回true
适用于字符串查找、替换
五、JS数组对象
1、特性
JS数组可以看做Java中的ArrayList集合
数组中的每一个成员没有类型限制,及可以存放任意类型
数组的长度可以自动修改
2、四种创建方式
1、var arr = [1,2,3]; //最常用
2、var arr = new Array(); //数组长度默认为0
3、var arr = new Array(4);
//数组长度是 4, 相当于开辟了长度为 4 的空间,每个元素是 undefined。
//(仅在显示数组时进行处理,undefined 为了方便显示变成了空字符串形式,其值本质仍然是 undefined)
4、var arr = new Array(1,2); //数组元素是1,2
六、全局函数(global)
1、执行
eval()
作用:用于增强程序的扩展性
注:只可以传递原始数据类型 string,传递 String 对象无作用。
eval("var x = 10;");
alert(x);
2、编码和解码
URL 编码:中文及特殊符号 %16 进制
作用:保证数据传递的完整性。
encodeURI()
把字符串编码为 URI
decodeURI()
解码某个编码的 URI
3、URI和URL的区别
URI 是统一资源标识符。标识资源详细名称。
URL 是统一资源定位器。定位资源的网络位置
资源:可以通过浏览器访问的信息统统称为资源。(图片、文本、HTML、CSS等等)
URI 标识资源的详细名称,包含资源名。
URL 定位资源的网络位置。包含 http://
例如
http: /www.huangjihao.com/ 是 URL
/a.html 是 URI
htp: //www.huangjihao.com/a.html既是URL,也是 URI
4、字符串转数字
a、parseInt()
解析一个字符串并返回一个整数
b、parseFloat()
解析一个字符串并返回一个浮点数
如果字符串的某个字符从字面值上无法转为数字,那么从该字符开始停止转换,仅返回前面正确的转换值。
如果字符串的第一个字符就无法从字面值上转为数字,那么停止转换,返回 NalN NaN (Not A Number,一个数字类型的标识,表示不是一个正确的数字)
七、自定义函数/自定义方法
1、函数格式
function 方法名(参数列表){
函数体
}
2、注意事项
Javascript 函数无需定义返回值类型,直接在 function 后面书写方法名;
参数的定义无需使用 var 关键字,否则报错;
Java Script 函数体中,return 可以不写,也可以 return 具体值,或者仅仅写 return
Javascript 函数调用执行完毕一定有返回值,值及类型根据 return 决定,如果未 return 具体值,返回值为 undefined;
Javascript 函数若同名,则不存在方法重载,只有方法相互覆盖,最后定义的函数覆盖之前的定义
因为 Javascript 不存在函数重载,所以 Javascript 仅根据方法名来调用函数,即使实参与函数的形参不匹配,也不会影响正常调用
如果形参未赋值,就使用默认值
undefined
八、自定义对象
1、function构造函数
格式
function 对象名(){
函数体
}
//
function Person(n,a){
this.name = n; //定义阶段,定义属性
this.age = a;
}
var p = new Person("小黄", "20");
alert(p.age)
alert(p.name)
p.gender = "男"; //创建对象后定义属性
2、对象直接量
该方式直接创建出实例对象,无需构建函数,无需再 new 创建实例对象,直接使用即可
var 对象名 = {属性名1:"属性值1", 属性名2:"属性值2"....}
//不能再去new了