`
Joy.zhang
  • 浏览: 57269 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
javascript是一种嵌入在网页中的脚本语言。
javascript是基于对象的一种语言。

原始值:变量存放的位置就是值放的位置。
引用值:存储变量的是一个指针,指向对象的内存储。
基于对象:不具有封装,继承,多态。

原始值:原始值放在栈中。Undefined,Null,Number,String,Boolean。
Number,String,Boolean是伪对象。
String是可变长度的字符串的类型。
引用类型:引用值放在堆中。var t = new Object;t={};

Object两个重要的属性:constructor是创建对象的引用,prototype是该对象的对象原型引用。
typeof:判断一个对象类型。
缺陷:如果是引用类型则返回Object;
比如:var str="";alert(typeof str);
instanceof;弥补了tpyeof的缺陷,alert(变量 instanceof(类型));

运算符:
delete 删除。
void 空运算符。
eg:
var o = new Object();
o.name = "小";
delete o.name;

语句:
for..in
var a = [1,2,3,4];
for(var b in a);
alert(b);
结果:打印的是下标(0,1,2,3)

switch("str")
   case  lable;

函数:是一个特殊的引用类型;
function A(){}
var a = new A();
创建函数的三种方式:
1.A = function (){}
2.Function 类帮助创建函数
A = new Function("i","alert(i);");

函数可以在调用时传参
A(i,j);
a = aragments[0];
b = arguments[1];

弱类型语言:
声明变量时不必声明类型;

闭包:
指词法表示包括不被计算的变量或函数,也就是说该函数使用函数外定义的变量。
eg:
var c,d;
function A(c,d){
   function B(){
      alert(c,d);
   }
}

伪对象:针对原始数据,可以new,有一系列内置方法。

对象:
Boolean:toSting,valueof
String:charAt,charCodeAt,Concat
fixed:var str = "This is pig";
       str = str.fixed();
fontsize,fromCharCode,indexof,italics
lastIndexOf,link,match,replace,search,slice,
small,split,strike,sub,substr,subString,sup,
toLowerCase,tollpperCase,toString,valueOf,
Number:toLocaleString,toString,valueOf

继承:
对象冒充:

The example of String:
fromCharCode var test = String.fromChartCode(112,108,98);

NaN:表示算术表达式返回非数字值的特殊值。
isNaN:是数字返回false,不是返回true。

对象:属性和方法的集合(对象的构成)
四个功能:封装,继承,多态,聚集(一个类可以装载另一个类)
对象的声明和实例化:
var a = new Object;
function Student(){};
var b = {};
对象的废除:obj = null;

默认排序时按数组元素的ANSI码排序。

对象的特定绑定有两种方式:
在javascript中既有的对象都采用晚绑定
1.早绑定 :在对象创建之前把属性个方法定义好
2.晚绑定:在对象创建之后把属性和方法赋予对象

this:总是指向调用该方法的对象
可用[]绑定属性:
eg:var obj = new Object;
obj["name"] = "joy";
obj["sex"] = "女";
alert(obj.name);
alert(obj["name"]);

javascript对象分三种类型:
本地对象:javascript定义好的类(Object,String,Number,Boolean,Array,RegExp,Date,Function,Error)
宿主对象:自己定义好的
内置对象:嵌入在浏览器中已经实例化的

BOM:浏览器对象模型
提供了独立于内容而于浏览器窗口进行交互的对象
window:
document
trames
history
location
navigetor
screen

DOM:文档对象模型
dom ==>html :body
             head

document即属于文档对象又属于浏览器对象
URL:全球统一资源标识

Array:栈结构,pop,push,concat,join(连接数组中的值),reverse(反转)

sort(function A(参数1,参数2))
sort方法将Array对象进行适当的排序,在执行过程中并不会创建新的Array对象
如果为sortfunction参数提供了一个函数,那么该函数必须返回下列值之一:
负值:如果此传递的第一个参数比第二个参数小
零:如果两个参数相等
正值:如果第一个参数比第二个参数大

内置对象就是已经帮你实例化好了的

如果要排序一个对象的属性用闭包

Date对象:启用基本存储并取得日期和时间
date = new Date();

fucntion A(){}
A.say = function(){}
A.say();

+=:
var str = "abc";
str+="de"  ==> str = str +"de";

var o = {name:'joy',age:18,show:function(){
    document.write(this.name+"  "+this.age);
}}

早绑定:
Person = function(){};
var p = new Person();
p.name = "joy";
p.sex = "女";
p.show = funtion(){
   alert(this.name+"  "+this.sex);
}
p.show();

晚绑定:
function student(){
    this.name = "joy";
    alert(this.name);
}
var stu = new student();

javascript提供了3个显示类型转换的函数:
eval():用于将字符串表达式转换成数字值
e = eval("123*123");==>123
parseInt():用于把字符串值转换为整数
p = parseInt("123.32");==>123
parseFloat():返回字符串中包含的第一个浮点数
f = parseFloat("sdfsdfdsfdf");==>0

工厂模式:开发者创建了能够创建并返回特定类型的对象
原型模式:(prototype)该方法利用了对象的prototype属性,它可看成创建新对象所依赖的原型,用构造函数来设置类名然后将所有的属性和方法直接赋予prototype属性。
prototype有constructor属性,constructor有prototype属性

方法名指向对象的指针:
prototype总是指向对象的原型,既指向对象名
prototype用于晚绑定,它不用创建实例

有引用的时候对象不会被销毁

三元运算符:
a>0 ? 1;0
if(a>0){
   c = 1;
}else{
   c = 0;
}

a>0 ? a+=3 : a-=3
if(a>0){
   a+=3;
}else{
  a-=3;
}

alert("\"HTLLO"\"); ==>"HTLLO"
\n 换行
\t 制表符
\'
\"
\\
style 其中是类选择符,要用class = style;
标记选择符
# id 选项符
# 样式{}
<span id="class">aaa</span>

事件:javascript和html之间的交互是通过用户和浏览器页面时引发的事件来处理。
事件处理函数:用户响应某个事件而调用的函数称为事件处理函数
IE:给一个对象添加一个事件,通过的方法是attachEvent
b=Object.attachEvent(sEvent,fpNotify)
==>Object.attachEvent("onclick",方法名)
火狐:给一个对象添加一个事件,常用addEventListener(sEvent,fpNotify,true/false);
其中true用冒泡事件,false:截取事件,一般使用true,火狐是click事件

在javascript所有的null,undefined,0都为假。

正则表达式:
RegExp:在javascript中正则表达式的支持是通过ECMASCRIT中的RegExp类来实现的。
var reg = new RegExp(匹配模式,命令行);
命令:
i :区分大小写
g :全局匹配
reg.test("字符串");返回布尔值;test方法在IE6中有bug。
var Array = "字符串".match(正则表达式);字符串有几个匹配就返回几个。
var Array = "字符串".exec(正则表达式);返回的数组永远只有一个元素。
search(regExp);返回匹配数组。
"字符串".replace(regExp,'要替换的字符');找到匹配替换字符。

var reg = new RegExp("at","g");
var str  = "at bat cat";
alert(reg.exec(str).join(','));结果:at
var Array = str.match(reg).join(',');
alert(Array);结果:at,at,at

var reg = new RegExp("e","g");
var aa = "abcdefg".search(reg);
alert(aa);
结果:4

alert("abc123abc".match(/[a-z]{3}/g));
结果:abc.abc


模式:
简单模式:一个正则表达式是有很多组成部分,而仅仅匹配指定字符<字符,字符类,元字符,元字符,量词>
匹配字符:a ==>/a/
匹配字符类:a ==>/[a]/
匹配元字符:{[()]}.^$?|*+-
每个元字符都有ASCIC码
(\t:制表 \n:换行 \r:回车 \a:alert() \b:回退 \v:垂直 \o:零,也是空字符 \f:换页 \e:escape)
字符类型:是用于测试字符的组合,通过将一些字符放入[]中,表示告诉正则表达式要去匹配[]中的某一个字符。
eg:bat cat  /[bc]at/g
负向类:需要在某些字符串中要排序,不需要的字符串,此时则采用负向类。
范围类:在某些情况下,当需要某个范围内的字符,但又不想逐个匹配时采用范围类。
组合类:由其它几种不同的范围类组合而成。
预定义类:
.   除了换行,回车外所有的字符[^\r\n]
\w  [0-9a-zA-Z_]
\W  [^0-9a-zA-Z_]
\d  [0-9]数字
\D  [^0-9]非数字
\s  [...\t\r\n\v\f(\XOB)]空白字符
\S  [^ 同上]
硬性量词
软性量词
简单量词:
?(0次,1次)
*(≥0次)
+(≥1次)
eg:\w{6,12} 出现6到12次
{n,} 出现至少n次
{n}  出现n次

配邮箱:
\w{6,12}@{1,6}\.\w{1,5}
量词:
有三种贪婪的,惰性的,支配性的

复杂模式:
分享到:
评论
1 楼 cellhome 2010-08-02  
不错 等到我要学JavaScript的时候 请教你啊
最近怎么样 准备开始找工作了吗

相关推荐

Global site tag (gtag.js) - Google Analytics