2016-07-20 13 views
0

Ich benutze Visual Studio, um Javascript/jquery zu schreiben. Beispiel I-Typ:Funktion deklarieren und überschreiben in javascript/jquery

$('#selector').text('foo') 

dann text ich aus und drücken Sie F12. VS zeigen würde mir die Datei jquery-2.2.3.intellisense.js und automatisch nach unten scrollen, um zu fucntion:

'text': function() { 
    /// <signature> 
    /// <summary>Set the content of each element in the set of matched elements to the specified text.</summary> 
    /// <param name="textString" type="String">A string of text to set as the content of each matched element.</param> 
    /// <returns type="jQuery" /> 
    /// </signature> 
    /// <signature> 
    /// <summary>Set the content of each element in the set of matched elements to the specified text.</summary> 
    /// <param name="function(index, text)" type="Function">A function returning the text content to set. Receives the index position of the element in the set and the old text value as arguments.</param> 
    /// <returns type="jQuery" /> 
    /// </signature> 
    } 

Ich weiß, dass es nur die Beschreibung der Funktion enthält. Ich möchte das auch tun.

Eine Funktion mit einigen Beschreibungen an einem Ort deklarieren und an anderer Stelle überschreiben (implementieren). Wie folgt aus:

// first 
var Add = function (a, b) { 
    /// <signature> 
    /// <sumary>Add 2 numbers</sumary> 
    /// <returns type="Number" /> 
    /// </signature> 
}; 

// second 
@override 
@** 
* Add 2 numbers 
* @param {Number} a: Number a 
* @param {Number} b: Number b 
* @return {Number} 
*/ 
var Add = function (a, b) { 
    return a + b 
}; 

Nun, wenn ich schreibe:

var sum = Add(2, 3); 

ich wählen Add und drücken F12, möchte ich VS the first Funktion treffen würde (nicht die zweite).

Also, meine Frage: Wie kann ich das tun?

+0

Sie können das nicht einfach tun. – underscore

+0

Sie sollten Ihre Frage mit "Visual-Studio" markieren. Die richtige Verwendung von Tags hilft anderen Menschen, unter anderem, Ihnen zu antworten. – cezar

Antwort

0

Ich habe versucht, zu intellisense.annotate(jQuery, {});

intellisense.annotate(jQuery, { 
    'Add': function() { 
     /// <signature> 
     /// <summary>Add 2 numbers</summary> 
     /// <param name="a" type="Number">Number a</param> 
     /// <param name="b" type="Number">Number b</param> 
     /// <returns type="Number" /> 
     /// </signature> 
    } 
}); 

In der Datei die Datei jquery-2.2.3.intellisense.js und die Funktion zu öffnen another.js:

$.fn.extend({ 
    /** 
     * Add 2 numbers 
     * param {Number} a: Number a 
     * param {Number} a: Number b 
     * return {Number} 
    */ 
    Add: function (a, b) { 
     return a + b 
    } 
}); 

Test:

$('#selector').Add(2, 3) 

Select Add und drücken F12 , VS würde auf die Funktion intellisense korrekt zeigen (obwohl das Gerät der Funktion Add in diesem Fall nichts bedeutet :))

Verwandte Themen