Javascript中如何引用指针

本文介绍Javascript中引用指针的方法。

请尝试完成下列完形填空:

/* 创建一个队列,头为head0,尾为tail0 */
function IntList(head0, tail0){
    this.head = head0 || 0;
    this.tail = tail0 || null;
}
/* 返回一个IntList包含数组中的所有数 */
IntList.list = function(__args){
    var sentinel = new IntList(),
        len = __args.length,
        p;
    p = sentinel;
    for(var i = 0; i < len; i++){
        p.tail = new IntList(__args[i]);
        p = p.tail;
    }
    return sentinel.tail;
};
/* 返回该对象的字符串表示 */
IntList.prototype.toString = function(){
    var temp = "";
    temp += "[";
    for(var L = this; L !== null; L = L.tail){
        temp = temp + " " + L.head;
    }
    temp += " ]";
    return temp;
};

/** 返回一个IntList,包含IntList A和IntList B,
 *  其中B的元素在A的后面。不能使用new关键字。
 */
function dcatenate(A, B){
    /* 完成功能 */
}

/** 返回一个新的IntList,其长度为len,
 *  以#start元素为开头(其中#0是第一个元素),
 *  不能改变L。
 */
function sublist(L, start, len){
    /* 完成功能 */
}

这是一个用Javascript写的链表题。由于链表拥有较为复杂的引用操作,正好可以用来考察下对Javascript的引用的理解。附带简单的测试用例:

/* 测试dcatenate和sublist函数是否正确 */
function test(){
    var A = IntList.list([4,6,7,3,8]),
        B = IntList.list([3,2,5,9]);
    dcatenate(A, B);
    if(A.toString() === "[ 4 6 7 3 8 3 2 5 9 ]"){
        alert("dcatenate函数正确。");
    }else{
        alert("dcatenate函数错误。");
    }
    var L = IntList.list([3,4,5,2,6,8,1,9]),
        result = sublist(L, 3, 3);
    if(result.toString() === "[ 2 6 8 ]"){
        alert("sublist函数正确。");
    }else{
        alert("sublist函数正确。");
    }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, 函数
, function
, temp
, 一个
sublist
javascript 指针、javascript this指针、javascript 函数指针、c 引用和指针的区别、引用和指针的区别,以便于您获取更多的相关知识。

时间: 2024-10-22 14:51:15

Javascript中如何引用指针的相关文章

浅谈JavaScript中的this指针和引用知识_javascript技巧

this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. this指针在传统OO语言中,是在类中声明的,表示对象本身.在JavaScript中,this表示当前上下文,即调用者的引用 ********this永远指向的是(函数对象)的所有者 this和全局对象: var a = 1; function foo(){ var b = 2; console.log(this.a+b);//3 } foo();

在JavaScript中正确引用bind方法的应用

  本文的重点在于讨论bind()方法的实现,在开始讨论bind()的实现之前,我们先来看看bind()方法的使用,有需要的小伙伴可以参考下. 在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常见的console.log("info-")来说,避免书写冗长的console,直接用log("info-")代替,不假思索的会想到如下语法: ? 1 2 var log = console.log; log("info-

JavaScript中的this指针详细实例

网页特效中的this指针详细实例javascript中this的用法,其实this最根本的特性还是和oo语言中的定义相吻合的.之所以有这么多看似混乱的使用方式,是因为javascript语言(解释器和语言本身的内容)本身在实现上是遵循oo的(object-based),连它的所有数据类型都是对象,也有object这样一个super object.但是这个语言在运行上(runtime),就没有遵循完备的oo特点 <script language="javascript" type=

在JavaScript中正确引用bind方法的应用_javascript技巧

 在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常见的console.log("info-")来说,避免书写冗长的console,直接用log("info-")代替,不假思索的会想到如下语法: var log = console.log; log("info-");      很遗憾,运行报错:TypeError: Illegal invocation.      为啥呢?对于console.log(

小议Javascript中的this指针_javascript技巧

(1) 在全局执行环境中使用this,标识Global对象,在浏览器中就是window对象. (2)当在函数执行环境中使用this时,如果函数没有明显的作为非window对象的属性,而是只是定义了函数,不管这个函数是不是定义在另一个函数中,这个函数中的this仍然标识window对象.如果函数显示地作为一个非window对象的属性,那么函数中的this就代表这个对象. 复制代码 代码如下: var o=new Object; o.func=function() { alert((this===o

javascript中直接引用Microsoft的COM生成Word

 直接引用Microsoft的COM是可以生成Word的,下面为大家介绍下实现的javascript代码 代码如下: <html>  <head>  <meta http-equiv=Content-Type content="text/html;charset=utf-8">  <title>Build Document by Script</TITLE>  <SCRIPT LANGUAGE="text/ja

javascript中直接引用Microsoft的COM生成Word_javascript技巧

复制代码 代码如下: <html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <title>Build Document by Script</TITLE> <SCRIPT LANGUAGE="text/javascript"> function word_onclick() { var myD

老生常谈Javascript中的原型和this指针_javascript技巧

1.Javascript中的原型: 原型prototype是Javascript中特有的一个概念.通过原型,Javascript可以实现继承机制. Javascript本身是基于原型的,每一个对象都有一个prototype属性.而Object对象的prototype属性为null. 下面来看一个使用原型实现继承的例子: 1.1使用原型实现继承:   function Person(name){ this.name = name; this.getName = function(){ return

AJAX入门之深入理解JavaScript中的函数

ajax|javascript|函数 概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递.在继续讲述之前,先看一下函数的使用语法: function func1(-){-}var func2=function(-){-};var func3=function func4(-){-};var f