JavaScript基本知识


1、javascript基础
(1)javascript是什么,能做什么?
 背景故事:网景与微软之争
js是网景公司开发的一种用于与页面进行交互的脚本语言。
javascript程序在浏览器端执行。
javascript程序可以写在.js结尾的文件里。
作用:
a)前端验证(就是对用户提交的表单中的
数据进行验证,比如验证用户名是否为空,
如果验证通不过,则浏览器不会将数据提交
给服务器)。
b)ajax核心技术之一,用于异步向服务器发送
请求并动态更新页面。
c)与页面进行交互,生成动态的效果。
d)获得浏览器相关的信息。
(2)javascript的组成部分  webkit内核=>html5
ECMAScript:语法基础(已经标准化了)
DOM:文档对象模型(部分标准化了) document object model
BOM:浏览器对象模型 browser object model(没有标准化,但是
大部分浏览器都支持window,location,history,screen等对象)。


2、语法基础
(1)数据类型  例:js01

a,基本数据类型
number:数字类型
string:字符串
boolean: true/false 布尔类型
null:变量没有存放任何对象的地址
undefined:未定义 alert(a);

b,引用类型变量
Object:
Array:
Date:
Math:

变量中只能放: number,string, boolean,object(null),undefine

(2)变量
javascript是一种弱类型语言,变量的类型
在运行时确认,并且可以随时转换。
javascript大小写敏感。
标识符不能使用关键字和保留字
标识符首字母只能是 A$_开头,首字母以外,可以包含
数字。  
var f = 1ab //error!  
var f = ab3; //ok!
var s = _ab //ok!
变量的作用域: 例:js02
在函数内部,不使用var声明的变量是一个全局变量。 *
没有语句块作用域
(3)数组  例: js03
a,特点:
js中的数组长度可变,存放的数据类型可以是任意的。
b,数组的创建:
var arr = new Array();
arr[0] = 1;
arr[3] = 2;
alert(arr.length);

var arr = [1,2];

c,数组对象的常用方法和属性
length属性返回数组的长度
toString()方法, 返回数组的字符串表示
concat方法, 用于连接两个数组
join()方法,用于将数组中的各个元素连接成字符串。
reverse()方法,将数组反转
slice()用于截取数组的一部分并以数组的形式返回
 sort()排序,可通过如下形式来重新定义排序方式:
var arr4 = arr3.sort(function(a1,a2){
return -a1.length + a2.length;
});
d,数组可以当作堆栈和队列来使用
push();
pop();
shift();
(4)字符串的常用方法和属性  例:js04
length属性 返回字符串的长度
charAt(index) 返回指定位置的字符
substring(from, to) 返回子字符串
indexOf(str) 指定字符串在原字符串中第一次出现的位置
lastIndexOf(str) 指定字符串在原字符串中最后一次出现的的位置
match(regexp) 返回匹配指定正则表达式的字符串,返回的结果是一个数组:
var str2 = 'asd212abc345';
var reg2 = /[0-9]+/g; global 搜索全局
var arr = str2.match(reg2);
search(regexp) 返回按照正则表达式检索到的字符串位置
     str2.search(reg2)
toLowerCase/toUpperCase 返回小写/大写形式
replace(regexp,'abc'); 替换符合reg正则表达式规定的字符串
     str2 = str2.replace(reg2,'888');
split(','): 分解,返回的是一个数组

关于正则表达式的基本符号:
     1.  /^$/ 这个是个通用的格式。
         ^ 匹配输入字符串的开始位置;$匹配输入字符串的结束位置
     2. 里面输入需要实现的功能。
        * 匹配前面的子表达式零次或多次;
       + 匹配前面的子表达式一次或多次;
       ?匹配前面的子表达式零次或一次;
       \d  匹配一个数字字符,等价于[0-9]

关于正则表达式可参考网上资源:
http://blog.csdn.net/spch2008/article/details/50574059
http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html

练习:
表单中包含如下内容,要求作验证:
username:非空
password:非空
repassword: 两次填写必须一致
phone: 类似于010-12345678
idcard:15位或者18数字,如果是18位,最后一位可以是X/x
email: 必须包含@  .
正则表达式的使用:
var reg = /^\d{8}$/;
var str = '123';
reg.test(str);

表单提交前的拦截方法:
http://www.jb51.net/article/47406.htm





你可能感兴趣的:(JavaScript)