jquery--new返回值

简介:
复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type=text/javascript charset=utf-8>

function F(){
    this.name = 1;
    this.sc = 4;
    alert(2);
    return function(){
        this.age = 2;
        this.name = 3;
        alert(1);
    }
}
var f = new F();
alert(typeof f);//function
alert(f.name);//输出函数的名字
alert(f.age);//undefined
alert(f.sc);//undefined        

function G(){
    this.name = 1;
    this.sc = 4;
    return {
        name : 14,
        age : 15
    };
}
var g =new G();
alert(typeof g);//object
alert(g.name);//14
alert(g.age);//15
alert(g.sc);//undefined

function H(){
    this.name = 1;
    this.sc = 4;
}
var g =new H();
alert(typeof g);//object
alert(g.name);//1

function H(){
    this.name = 1;
    this.sc = 4;
    return this;
}
var g =new H();
alert(typeof g);//object
alert(g.name);//1        
alert(g.sc);//4      

function L(){
    this.name = 1;
    this.sc = 4;
    return new Array(1,2,3);
}
var l =new L();
alert(typeof l);//object
alert(l);//1,2,3
alert(l.name);//undefined
alert(l.sc);//undefined  

function E(){
    this.name = 1;
    this.sc = 4;
    return 'ssss';//return的是引用类型new函数就返回return的引用类型对象,基本类型就还是返回函数类的实例对象。
}
var e =new E();
alert(typeof e);//object
alert(e);//object
alert(e.charAt(1));//e.charAt is not a function
alert(e.name);//1
alert(e.sc);//4
</script>
</head>
<body>
</body>
</html>
复制代码

 

复制代码
function F(){
    this.n = 1;
    this.sc = 4;
    return function FF(){
        this.n = 11;
        this.sc = 44;
        return function FFF(){
            this.n = 111;
            this.sc = 442;                    

        }
    }
}
var f = new F();
alert(typeof f);
alert(f.name);//FF, new F(),函数F值执行他的那层执行一遍
alert(f.n)//undefined   


function F(a){
    this.n = 1;
    this.sc = 4;
    return new init(a);   //new init(),如果init类没有return引用就返回init类的对象,否则返回init类中return的引用对象
}

function init(){
    this.n = 11;
    return {n:arguments[0]}
}

var d = F(3);
alert(d.n);//3      



function F(a){
    this.n = 1;
    this.sc = 4;
    return new init(a);
}

function init(){
    this.n = 11;
    return 44
}

var d = F(3);
alert(d.n);//11
复制代码

 new F() 不一定返回F类的对象,有可能返回F()函数里面返回的对象。

 

复制代码
function F(a){
    this.n = 1;
    this.sc = 4;
    return new G(a); //不一定返回G对象,返回{}
}

function G(){
    this.n = 11;
    return {n:arguments[0]}
}

var d =new F(3); //不一定返回F的对象,返回的是F函数里面的new G()这个G的对象
alert(d.n);//3   
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6898711.html,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript 数据格式
学习AJAX必知必会(4)~JQuery发送Ajax请求、ajax使用fetch函数(返回值是Promise对象)
学习AJAX必知必会(4)~JQuery发送Ajax请求、ajax使用fetch函数(返回值是Promise对象)
255 0
|
JavaScript 前端开发 索引
|
5天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
39 21
|
6天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
36 16
|
1天前
|
JavaScript
jquery文字动画特效插件animatext
jquery文字动画特效插件animatext
16 9
|
3天前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
6天前
|
JavaScript
简洁实用的jQuery进度条插件
这是一款简洁实用的jQuery进度条插件。该插件使用简单,通过在页面中放置指定的HTML代码,即可生成带动画效果的进度条。
|
5天前
|
JavaScript 容器
jQuery文字跑马灯插件Marquee
jQuery.Marquee是一款jQuery文字跑马灯插件。jQuery.Marquee跑马灯插件可以结合使用CSS3动画,制作文字的上下左右移动效果。
|
1天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
14 2