`

javascript方法(Methods)

阅读更多
1、Array
array.concat(item..)
concat方法返回一个新数组,它包含array的浅复制(shallow copy)并将1个或者多个参数item附加在其后。如果参数item是一个数组,那么它的每个元素会被分别添加。
Example:
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.concat(b,true);
//c是['a','b','c','x','y','z',true]

array.join(separator)
join方法是一个array构造成一个字符串。它将array中的每个元素构造成一个字符串,并用一个separator为分隔符把它们连接在一起。默认的separator是 ','为了实现间隔的连接,我们可以使用空字符串作为separator。
如果你想把大量的片段组装成一个字符串,把这些片段放到一个数组中并用join方法连接它们通常比用+元素运算符连接这些片段要快。
var a = ['a', 'b', 'c'];
a.push('d');
var c = a.join(''); //c是'abcd';

array.pop()
pop和push方法使数组array像堆栈(stack)一样工作。pop方法移除array中的最后一个元素并返回该元素。如果该array是空的,它返回undefined。
var a = ['a', 'b', 'c'];
var c = a.pop(); //a是['a', 'b'] & c 是 'c'

pop可以像这样实现:
Array.method('pop', function (){
    return this.splice(this.length-1,1)[0];
});

array.push(item..)
push方法将一个或者多个参数item附加到一个数组的尾部.不像concat方法那样,它会修改该数组array,如果参数item是一个数组,他会将参数数组作为单个元素整个添加到数组中。它返回这个数组array的新长度值。
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.push(b,true);
// a 是 ['a', 'b', 'c', ['x', 'y', 'z'], true ]
// c 是 5;

push可以像这样实现:
Array.method('push',function(){
   this.splice.apply(
       this,
       [this.length, 0].
           concat(Array.prototype.slice.appley(arguments)));
   ruturn this.length;
});

array.reverse()
reverse方法反转array中的元素的顺序。它返回当前的array:
var a = ['a', 'b', 'c'];
var b = a.reverse();
//a 和 b 都是 ['c', 'b', 'a']

array。shift()
shift 方法移除数组array中的第一个元素并返回该元素。如果这个数组array是空的,他会放回undefined。shift通常比pop 慢多了。
var a = ['a', 'b', 'c'];
var c = a.shift(); // a 是 ['b', 'c'] & c 是 'a'

shift还可以这样实现:
Array.method('shift', function (){
     return this.splice(0,1)[0];
});

array.sort(comparefn)
sort方法对array 中的内容进行适当的排序。它不能正确地给一组数字排序:
var n = [4, 8, 15 ,18 ,22];
n.sort();
//n 是 [15, 18, 22, 4, 8]

array.slice(start, end)
slice 方法对array中的一段作浅复制。第一被复制的元素是array[start]。他将一直复制到array[end]为止。end参数是可选的,并且默认值是该数组的长度array.length。如果两个参数中任何一个是负数,array.length将和它们相加来试图使用它们成为非负数。如果start大于等于array.length,得到的结果将是一个新的空数组。千万不要把slice和splice混淆了。
var a = ['a', 'b', 'c'];
var b = a.slice(0, 1); //b 是 ['a']
var c = a.slice(1);    //c 是 ['b', 'c']
var d = a.slice(1, 2); //d 是 ['b']

array.splice(start,deleteCount, item..)
splice方法从array中移除1个或者多个元素,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素个数。如果有额外的参数,哪些item都将 插入到所移除元素的位置上。它返回一个包含被移除元素的数组。
splice最主要的用处是从一个数组中删除元素。请不要把splice和slice混淆了:
example:
var a = ['a', 'b', 'c'];
var r = a.splice(1, 1, 'ache', 'bug');
//a 是 ['a', 'ache', 'bug', 'c']
//r 是 ['b']

splice可以像这样实现:
loading...

array.unshift(item..)
unshift 方法像push方法一样用于将元素添加到数组中,但它是把item插入到array的开始部分而不是尾部。它返回array的新的长度值:
var a = ['a', 'b', 'c'];
var r = a.unshift('?', '@');
//a 是 ['?', '@', 'a', 'b', 'c'];
// r 是 5 
//ie6之前的browse中,JScript引擎对unshift方法的实现有错误,它的返回值永远是undefined。ie7之后的browse修正的这个错误。

unshift还可以这样实现:
Array.method('unshift',function(){
    this.splice.apply(this,
        [0,0].concat(Array.prototype.slice.apply(arguments)));
    return this.length;
});


Function
function.apply(thisArg,argArray)
apply方法调用函数function,传递一个将被绑定到this上的对象和一个可选的参数数组。
apply方法被用在apply调用模式(apply invocation pattern)中。
Function.method('bind',function(){
    //返回一个函数,调用这个函数就像它是那个对象的方法一样。
    var method = this,
        slice = Array.prototype.slice,
        args = slice.apply(arguments, [1]);
    return function(){
        return method.apply(this,
            args.concat(slice.apply(arguments, [0])));
    };
});

var x = function(){
    return this.value;
}.bind({value: 666});
alert(x());  //666


Object
object.hasOwnProperty(name)
如果这个object包含了一个名为name的属性,那么hasOwnProperty 方法返回 true。
原型链中的同名属性是不会被检查的。这个方法对name就是hasOwnProperty时不其作用,此时会返回false:
var a = {member: true};
var b = Object.beget(a);             // 
var t = a.hasOwnProperty('member');  //t 是true
var u = b.hasOwnProperty('member');  //u 是false
var v = b.member; //v是true


RegExp
regexp.exec(string)
exec 方法是使用正则表达式的最强大(和最慢)的方法。






















分享到:
评论

相关推荐

    JavaScript-Methods:练习编写JavaScript方法

    压缩包中的"JavaScript-Methods-master"可能包含了练习代码、示例和测试用例,用于帮助开发者理解和实践JavaScript方法的重构。通过研究这些文件,可以了解到实际项目中如何运用Underscore.js方法,并从中学习到...

    javascript_methods

    "javascript_methods"这个主题显然关注的是JavaScript中的各种内置方法和自定义方法。 JavaScript提供了丰富的内置方法,如数组方法(push、pop、shift、unshift、slice、splice、concat、indexOf、lastIndexOf等)...

    vue中实现在外部调用methods的方法(推荐)

    Vue 中实现外部调用 methods 的方法 在 Vue 中,经常会遇到需要在外部调用组件中的方法的情况,例如需要在 Java 后台的弹窗页面中调用 Vue 组件中的方法。为此,我们需要找到一种方式将组件中的方法传递到外部,使...

    JavaScript Reference Guide.pdf

    “Scriptable properties and methods”则详细列出了所有可脚本化的属性和方法,以便于开发者进行更高级的操作;此外,还提到了错误处理(“Errormessages”)和编码支持(“Supported encoding names”),这些都是...

    vue中实现methods一个方法调用另外一个方法

    在标题和描述中提到的场景,是在同一个Vue组件内,`methods`中的一个方法调用另一个方法。下面我们将详细讲解如何实现这一功能。 首先,让我们来看一个简单的例子: ```javascript new Vue({ el: '#app', data: ...

    微信小程序methods中定义的方法互相调用的实例代码

    在微信小程序中,页面的逻辑处理是通过在页面的.js文件中编写JavaScript代码来实现的,其中一个重要的部分是定义页面的methods,也就是方法,它们可以响应用户事件或者执行一些程序化的操作。 在小程序中,不同的...

    Eloquent javascript

    8. 对象的奥秘(The Secret Life of Objects):涉及对象的历史(History)、方法(Methods)、原型(Prototypes)、构造函数(Constructors)、方法覆盖(Overriding derived properties)、原型干扰(Prototype ...

    Javascript5.5 中文手册

    3. **数组方法(Array Methods)**:5.5版本中,数组对象新增了多种实用的方法,如`forEach()`、`map()`、`filter()`、`reduce()`等,这些方法提供了更便捷的数组操作方式,使得处理数组数据更为高效。 4. **对象...

    深入浅出JavaScript对象模型

    这意味着在JavaScript中,对象被视为存储数据的一种大型数组形式,其中每个对象都有一个属性列表,包含该对象的所有属性(attributes)和方法(methods)。简而言之,可以将JavaScript对象视为一个包含键值对的容器...

    Functional.Programming.in.JavaScript.1784398225

    The book then rounds off with an overview of methods to effectively use and mix functional programming with object-oriented programming. Table of Contents Chapter 1. The Powers of JavaScript's ...

    JavaScript经典教程.rar

    对象是数据和函数的集合,通过属性(properties)和方法(methods)来访问和操作。JavaScript有内置对象(如Date、Math)、宿主对象(如window)以及自定义对象。对象可以通过字面量语法或者构造函数来创建,而原型...

    JavaScript自学教材

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责实现...在压缩包的文件中,如script.htm、methods.html、objects.html等,很可能包含了对这些知识点的具体讲解和示例,是学习JavaScript的好资源。

    periodic-table-of-methods:JavaScript中的各种方法以元素周期表的形式出现

    在JavaScript编程语言中,"periodic-table-of-methods" 是一个独特且富有创意的学习资源,它将各种JavaScript方法以元素周期表的形式呈现出来,旨在帮助开发者更好地理解和记忆这些常用的方法。这种方法论的灵感来源...

    JavaScript.Novice.to.Ninja.2nd.Edition

    Learn the basics of JavaScript programming: functions, methods, properties, loops and logic Use events to track user interactions Build smarter web forms that improve the user experience Work with...

    通过名称案例,实现数据监听,同时介绍vue中computed,methods,watch三种方法的区别

    本文将通过一个具体的“名称案例”来深入理解如何实现数据监听,并探讨Vue中的`computed`、`methods`和`watch`三种方法的区别。 首先,让我们来看一下名称案例。假设我们有一个Vue实例,其中包含一个`name`数据属性...

    The JavaScript Pocket Guide

    It’s packed with tips as well as JavaScript syntax, methods, and properties. Concise and inexpensive, it’s exactly the guide many web designers and developers need. Review JavaScript over the ...

    全屏窗口javascript全屏

    document.msFullscreenElement) { // current working methods if (document.documentElement.requestFullscreen) { document.documentElement.requestFullscreen(); } else if (document.documentElement....

    JavaScript.Application.Design.A.Build.First.Approach

    Chapter 6 Understanding Asynchronous Flow Control Methods In Javascript Chapter 7 Leveraging The Model-View-Controller Chapter 8 Testing Javascript Components Chapter 9 Rest Api Design And Layered ...

    对vue中methods互相调用的方法详解

    在Vue.js中,`methods`对象是用来定义组件内的可调用函数。这些方法可以在模板中直接引用,也可以在其他方法内部互相调用。这在处理复杂的业务逻辑时非常有用。本篇文章将详细介绍如何在Vue中实现`methods`的互相...

Global site tag (gtag.js) - Google Analytics