`
wenxin2009
  • 浏览: 320609 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js复习

    博客分类:
  • js
 
阅读更多

今天对js进行了小小的复习,以下为顺手敲的小例子。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<script>
//Cookie封装
function dwn(s){
    document.write(s+"<br/>");
}
//定义一个Cookie对象
function Cookie(){
    this.set=function(name,value,expireTime){
        if(!expireTime) expireTime=new Date();
       
        document.cookie=name+"="+value+";"+"expire="+expireTime.toGMTString();
    };
    //根据name获取cookie信息
    this.get=function(name){
        var cookies=document.cookie.split("; ");
        for(var i=0;i<cookies.length;i++){
            var s=cookies[i].split("=");
            if(s[0]==name) return s[1];
        }
    }
}

//新建一个Cookie对象
var cookie=new Cookie();
cookie.set("a","15");
cookie.set("b","25");
cookie.set("c","35");
//读取cookie值
dwn("b="+cookie.get("b"));
dwn("c="+cookie.get("c"));

/*
//join方法把一个数组所有元素转换成字符串
var a=[1,2,3];
var s=a.join();
alert(s);
//splice()方法是插入或删除数组元素的通用方法
var arr=[1,2,3,4,5,6,7];
alert(arr.splice(1,0,9));
alert(arr.join());
alert(arr.splice(1,0) instanceof Array);
*/

/*
var now = new Date();
alert(now.constructor);
*/

/*
//toLocaleString()本地化字符串
var now=new Date();
alert(now.toString());
alert(now.toLocaleString());
*/

//函数参数和函数返回值
/*function dwn(s){
    document.write(s+"<br/>");
}
//集合变换操作,闭包作为参数
function trans(list,op){
    for(var i=0;i<list.length;i++){
        list[i]=op(list[i]);
    }
}
var list = [1,2,3,4];
trans(list,function(x){return x+1});//得到2,3,4,5
dwn(list);
trans(list,function(x){return x*2});
dwn(list);
//累加器:闭包作为返回值
function add(a,b){
    b=b ||0;
    var s = a+b;
    var ret = function(a){
        return add(a,s);
    }
    ret.valueOf=ret.toString=function(){
        return s;
    }
    return ret;
}
dwn(add(5));
dwn(add(5)(10));
dwn(add(5)(10)(20));
*/

//用call和apply调用函数
/*function dwn(s){
    document.write(s+"<br/>");
}
//定义一个Point类型
function Point(x,y){
    this.x=x;
    this.y=y;
    this.toString=function(){
        return "("+[x,y]+")";
    }
}
//定义一个Vector类型
function Vector(x,y){
    this.x=x;
    this.y=y;
    this.toString=function(){
        return "["+[x,y]+"]";
    }
}
//这个函数将传入的参数累加到对象的x,y属性上
function add(x,y){
    return new this.constructor(this.x+x,this.y+y);
}
var p=new Point(1,2);
var v=new Vector(-1,2);
var p1= add.call(p,3,4);//把add函数作为p的方法调用
var v1= add.apply(v,[3,4]);//把add函数作为v的方法调用
dwn(p1);
dwn(v1);
*/

//打印方法中的参数
/*function f(){
    document.write("f("+Array.apply(null,arguments)+")"+"<br/>");
}
f(1,2,3);
f("a","b");
f(true);
*/

//类型强制转换
/*function dwn(s){
    document.write(s+"<br/>");
}
var str='100';
var fun = Function(str);
dwn(typeof(fun)+": "+fun);
//字符串类型强制转换
var num=Number(str);
dwn(typeof(num)+": "+num);
//对象类型强制转换
var obj={};
var str=String(obj);
dwn(typeof(str)+": "+str);
var num = Number(obj);
dwn(typeof(num)+": "+num);
var bool=Boolean(obj);
dwn(typeof(bool)+": "+bool);
*/

//闭包私有域
/*function dwn(s){
    document.write(s+"<br/>");
}
var a,b;
(function(){
    showAB = function(){
        dwn(a);
        dwn(b);
    }
    var a=10;
    var b=20;
})();
a=-10;
b=-20;
dwn(a);
dwn(b);
showAB();//不会破坏showAB()内部的a,b的值
*/

//定义5个方法,(function)(),表示声明完立即执行
//j的值是由最后的那个i传入
//setTimeout中是匿名方法
/*function test(){
    for(var i=0;i<5;i++){
        (function(j){
            setTimeout(function(){alert(j)},100);
        })(i);
    }
}
test();*/

//闭包和面向对象
/*function dwn(s){
    document.write(s+"<br/>");
}
function Foo(a){
    function _pc(){
        return a;
    }
    this.bar = function(){
        dwn("foo "+_pc()+"!");
    }
}
var obj = new Foo("bar");
obj.bar();*/


//闭包的封闭性
/*function dwn(s){
    document.write(s+"<br/>");
}
(function(){
    //封闭私有域
    var innerX = 10,innerY=20;
    //开放公共域
    outerObj = {x:innerX,y:innerY};
})();

try{
    dwn(innerX);
}catch(ex){
    dwn("内部数据无法访问");
}
dwn(outerObj.x);*/


//闭包和面向对象
/*function dwn(s){
    document.write(s+"<br/>");
}
function Foo(a){
    function _pc(){//私有函数
        return a;
    }
   
    this.bar=function(){
        dwn("foo"+_pc()+"!");
    }
}
var obj=new Foo("bar");
obj.bar();*/

//闭包的封闭性
/*function dwn(a){
    document.write(s+"<br/>");
    alert(0);
}
(function(){
    //封闭的私有域
    var innerX=10,innerY=20;
    //开放的公共域
    outerObj={x:innerX,y:innerY};
})();
try{
    dwn(innerX);//内部数据无法访问
}catch(ex){
    dwn("内部数据无法访问!");
}
dwn(outerObj.x);//通过外部接口访问
*/

//执行域
/*function RandomAlert(){
    var x= Math.random();
    return function(){
        alert(x);
    }
}
var a=RandomAlert();
a();
*/

<!-- 拆箱、装箱 -->
/*
function dwn(s){
    document.write(s+"<br/>");
}
//Number装箱
Number.prototype.foo=function(){
    dwn(this instanceof Number);
    dwn(typeof(this));
}
//定义基本类型
var num=10;
num.foo();

//Number拆箱
var objNum=new Number(10);
dwn(objNum.valueOf() instanceof Number);
dwn(typeof(objNum.valueOf()));

//String装箱
String.prototype.foo=function(){
    dwn(this instanceof String);
    dwn(typeof(this));
}
//定义字符串
var str = "www.51js.com";
str.foo();

//String拆箱
var objStr = new String("abc");
dwn(objStr instanceof String);
dwn(typeof(objStr.toString()));
*/

<!--  值和引用 -->
/*function dwn(s){
    document.write(s+"<br/>");
}
var va=10,vb=true;
var ra=[1,2,3],rb={x:1,y:2};
//参数为值类型的函数例子
function ValueTypes(x,y){
    x++;
    y=false;
    dwn(x);
    dwn(y);
}
//参数为引用类型的函数例子
function ReferTypes(x,y){
    x.push(4);
    delete y.x;
    dwn(x);
    dwn(y.x);
}
ValueTypes(va,vb);
dwn(va);
dwn(vb);
ReferTypes(ra,rb);
dwn(ra);
dwn(rb.x);*/

<!--  继承 -->
/*
function dwn(s){
    document.write(s+"<br/>");
}
//定义一个Animal类型
function Animal(){
    this.bite=function(){
        dwn("animal bite!");
    }
}
//定义一个Cat类型,继承Animal类型
function Cat(){
    this.bite = function(){
        dwn("cat bite");
    }
}
Cat.prototype=new Animal();

//定义一个Dog类型,继承Animal类型
function Dog(){
    this.bite = function(){
        dwn("dog bite!");
    }
}
Dog.prototype = new Animal();
//定义一个AnimalBite方法
function AnimalBite(animal){
    if(animal instanceof Animal){
        animal.bite();
    }
}
var cat = new Cat();
var dog = new Dog();
AnimalBite(cat);
AnimalBite(dog);
*/
</script>

</head>

<body>
</body>
</html>

分享到:
评论

相关推荐

    JavaScript复习资料

    这个“JavaScript复习资料”包含了丰富的学习资源,旨在帮助你深入理解和掌握JavaScript的核心概念和技术。 首先,让我们从基础开始。JavaScript是基于ECMAScript规范的,它的语法类似于C++和Java。在JavaScript中...

    javascript复习要点

    JavaScript 复习要点 JavaScript 是一种基于对象和事件驱动的脚本语言,主要用于客户端脚本语言。下面是 JavaScript 的一些重要概念和知识点: 变量和数据类型 * 变量定义:使用 var 关键字定义变量,例如:`var ...

    WEB端 JS复习导图 含画图

    这份"WEB端 JS复习导图 含画图"是为开发者提供的一份宝贵的复习资源,它包含了一系列JavaScript的重要概念和语法结构,帮助你在学习或工作中快速回顾和理解JavaScript的关键知识点。 在JavaScript的世界里,你需要...

    js复习.zip

    在"js复习.zip"这个压缩包中,我们可以期待找到一系列与JavaScript相关的学习资料,包括但不限于语法、函数、对象、数组、DOM操作、AJAX、闭包、异步处理等重要概念。 JavaScript语法基础: JavaScript语法基于...

    js复习笔记.pdf

    根据文件【标题】和【部分内容】的描述,“js复习笔记.pdf”主要涉及JavaScript的基础知识点,包括语言规范、变量、常量、数据类型及其转换、运算符、流程控制等方面。以下是详细知识点梳理: 1. JavaScript语言...

    HTML+CSS+JS复习笔记

    在“HTML+CSS+JS复习笔记”中,你可能会学习到以下关键概念: 1. HTML基本结构:包括&lt;!DOCTYPE&gt;声明、、和元素。 2. HTML元素:如至标题、段落、链接、图像、和无序列表、和有序列表等。 3. CSS选择器:如元素选择...

    JavaScript复习题.pdf

    JavaScript复习题.pdf 本资源摘要信息涵盖了JavaScript的基础知识点,包括变量、数据类型、运算符、控制结构、函数、数组、对象、事件处理、DOM操作等内容。 1. 变量和数据类型: - 变量的声明和赋值 - ...

    JS复习.pages

    JS复习.pages

    js复习整理

    根据提供的文件信息,我们可以梳理出一系列关于JavaScript的重要知识点。这些知识点涵盖了从基本概念到更高级的应用,对于初学者和有经验的开发者来说都是很好的复习资料。 ### 1. 立即执行函数表达式(IIFE) ...

    javascript复习资料与素材.rar

    这份"javascript复习资料与素材.rar"压缩包显然包含了丰富的学习资源,旨在帮助开发者巩固和提升JavaScript知识。以下将详细介绍JavaScript的重要概念、核心特性以及一些常见应用场景。 1. **JavaScript基础** - ...

    (完整版)js复习题库答案(2).docx

    在这个完整的 JS 复习题库中,我们看到了一系列的选择题,涵盖了变量声明、运算符、DOM 操作、事件处理、正则表达式、定时器以及日期处理等多个核心知识点。 1. 变量命名规则:变量名不能以数字开头,因此选项 B `2...

    2011-2012-2JavaScript复习题.doc

    2011-2012-2JavaScript复习题

    JavaScript基础复习大纲

    JavaScript 基础复习大纲 DAY1 一、JavaScript 简介 JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)、并具有安全性的脚本语言。它主要用途改进网页设计、验证表单、检测浏览器、创建 cookies,...

    前端 二阶段 js 复习总纲规划

    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于...方便大家查询与复习,对于初学JS学员来说可以少走很多弯路。

    JavaScript复习笔记

    ### JavaScript复习笔记 #### 一、JavaScript的历史与起源 - **Mosaic浏览器**:作为互联网历史上首个广泛使用和支持显示图片的浏览器,Mosaic在1993年的出现标志着图形界面时代的开始,它对于互联网的发展起到了...

    javascript复习重点.doc

    JavaScript 语言基础知识 JavaScript 语言是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。它可以使得信息和用户之间不仅仅是一种显示和浏览的关系,而是实现了一种实时性、动态的、...

    js复习题库 答案(1).pdf

    【JavaScript基础知识点】 1. 变量命名规则:JavaScript中的变量名不能以数字开头,因此选项B中的2sum是非法的。合法的变量名可以包含字母、数字、下划线(_)和美元符号($),但不能包含空格或其他特殊字符。 2. ...

Global site tag (gtag.js) - Google Analytics