JavaScript の function オブジェクトには call メソッドと apply メソッドというものが標準で用意されています。不思議な動作をするメソッドであり、その有用性を理解するのは難しいのですが、いつか役に立つ時がくるはず?なので調べました。 call メソッドの基本的な動作 まず、オブジェクトと関数を定義します。
![[JavaScript] call メソッドと apply メソッドの基本的な動作](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)
JavaScript の function オブジェクトには call メソッドと apply メソッドというものが標準で用意されています。不思議な動作をするメソッドであり、その有用性を理解するのは難しいのですが、いつか役に立つ時がくるはず?なので調べました。 call メソッドの基本的な動作 まず、オブジェクトと関数を定義します。
for〜in文 for文では、繰り返し処理の回数をカウンターで行ないました。for〜in文ではArrayの要素の数だけ処理を行います。for〜in文をつかって配列を操作してみます。 <?xml version="1.0" encoding="utf-8" ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>配列の参照</title> </head> <body> <h2>for〜in文</h2> <script type="text/javascript"> var array01 = [1,2,3]; //array01オブジェクトをつくります for(index in array
例えばJAVAには、for-each文という便利な構文があります。 class Test { public static void main(String args[]) { int [] ary = new int[] { 1, 2, 3, 4, 5 }; for(int num : ary) { System.out.println(num + ","); } } } 実行結果 1,2,3,4,5, これは拡張for文とも言われ、配列のすべての要素にアクセスすることができます。 Javascriptにも似たような構文のfor-in文があります。 が、このfor-in文実に曲者で、JAVAのfor-each文と同じ感覚で使うと、必ずどこかで痛い目を見ます。 例文を見てみましょう。 <html> <head> <title>for inテスト</title> </head> <body>
JavaScript で繰り返し処理を行う方法のひとつである for...in 文の使い方について解説します。 for...in 文ではオブジェクトに含まれるプロパティ名を順に取得します。
前回の記事で、jQueryセレクタのパフォーマンスを計測する際に使用したFirebugのconsole APIですが、時間を計測する以外にも便利な機能がたくさん備わっています。 今回はその中から特に役立つ機能をピックアップしてご紹介します。 目次 0.Firebugとは 1.console.log() 2.console.debug() 3.console.info() / console.warn() / console.error() 4.console.trace() 5.console.time() / console.timeEnd() 6.その他 Firebugとは? Firebugを知らない方のために簡単に説明します。FirebugとはFirefoxのアドオン(拡張機能)です。インストールすることで、表示しているページのHTMLやCSSを表示・編集したり、JavaScrip
jQuery1.7がリリースされたのですが、今回追加されたevent apiのon()、off()がとても便利で、on()でイベントを登録し、off()でイベントを削除するするということで、これまでより直感的です。 event apiとしてはこれまで、bind、live、delegateが存在していました。今回追加されたon()は、bindやdelegateと置き換わる機能となります。 $(elements).on(events [, selector] [, data], handler); $(elements).off(events [, selector] [, data], handler); 例えば使い方としてとしては var sayHello = function (event) { alert("Hello "+event.data.name); } $("button")
初心者向けの本とかだと、イベントを jQuery オブジェクトの後に直接指定する、 $('.foo').click(); のような書き方で説明されている場合が多いけど、少し複雑なことをしようとするとそれだと困ることが出てきます。そんなときに便利なのが on() を使ったイベント設定です。 on() ひとつで bind() live() delegate() を表せる jQuery 1.7 で、bind() live() delegate() がすべて on() に統合されたそうです。 つまり on() の書き方によって、3 パターンの使い方ができるということです。 .foo という要素をクリックしたら何かするという例で、イベントの設定と削除の方法をそれぞれ書いてみます。 bind() $('.foo').bind('click', function(){...}); は $('.foo')
新しいチャリを手に入れたら歯車や金属のバーを眺めてニヤニヤするようになったminamiです。 11/3にjQueryの最新バージョン1.7がリリースされました。大小さまざまな機能追加がされましたが、その中でもかなり大きな「.on()」「.off()」というイベントAPIが追加されましたが、今までのイベントAPIとどう違うのかいまいちわからなかったので調べてみました。 「.on()」「.off()」の使いどころ jQueryには今までのバージョンにも、「.bind()」「.live()」「.delegate()」といったイベントAPIがありました。今回追加された「.on()」「.off()」はそれら3つの機能をカバーしたメソッドになります。 「.bind()」「.live()」「.delegate()」については今後も利用できますが、「.on()」「.off()」の使用が推奨されていくようで
v1.13.7 CDN URLs (Use with <script src="..."></script>) https://cdn.jsdelivr.net/npm/[email protected]/underscore-umd-min.js https://cdn.jsdelivr.net/npm/[email protected]/underscore-esm-min.js https://unpkg.com/[email protected]/underscore-umd-min.js https://unpkg.com/[email protected]/underscore-esm-min.js https://pagecdn.io/lib/underscore/1.13.7/underscore-umd-min.js https://pagecdn.io/lib/unde
標準組み込みオブジェクトObjectコンストラクターObject() コンストラクター静的メソッドObject.assign()Object.create()Object.defineProperties()Object.defineProperty()Object.entries()Object.freeze()Object.fromEntries()Object.getOwnPropertyDescriptor()Object.getOwnPropertyDescriptors()Object.getOwnPropertyNames()Object.getOwnPropertySymbols()Object.getPrototypeOf()Object.groupBy()Object.hasOwn()Object.is()Object.isExtensible()Object.isFr
この記事が対応するCoffeeScriptのバージョンは1.7です。 基本的には本家サイトCoffeeScriptの内容と同じです。わかりやすいように色々と私が勝手に再構築、追加してはありますが。(日本語訳と紹介されるとちょっと心外ですな(´Д⊂ヽ ) なお、JavaScriptの基礎知識を前提とし、JavaScriptから引き継ぎ重複する内容は解説されません。 あ。後、この記事の文章、CoffeeScriptコード、JavaScriptコードに関する著作権は放棄しています。パブリックドメインと言うそうです。文章、コード自由に引用改変公開しても問題ありません。 最終更新日:2014/1/29 追加: 文字列 演算子など はじめに:CoffeeScriptのメリットとデメリット 一般に言われているCoffeeScriptを使うメリットデメリットを載せておきます。 ま、こんな論争気にせず、使っ
CoffeeScriptで学ぶ Underscore.jsの7回目。Array編の中編です。 flatten _.flatten(array, [shallow]) flattenは、入れ子になっている配列を1次元配列にして返します。第2引数のshallowをtrueにすると、最初の階層に限定します。 _ = require 'underscore' list = [1, [2], [3, [[[4]]]]] console.log _.flatten list 実行結果 $ coffee flatten.coffee [ 1, 2, 3, 4 ] without _.without(array, [*values]) withoutは、第1引数で指定した配列から、第2引数以降に指定した値を除いた配列を返します。 _ = require 'underscore' list = [1, 3,
Backbone.js が注目されがちですけど、Backbone.js を支えている Underscore.js も、実はかなり便利なライブラリです。公式サイトを見ると、よさげなメソッドが盛りだくさん。 Underscore.js 私自身はまだ Backbone.js のついでに使っている段階ですけどね。 Underscore.js が提供するメソッドは数が多いので、今回はよく使ったものに絞って取り上げてみます。それ以外は公式ドキュメントを見てください。 each test("each", function() { var data = []; _.each(["foo","bar","hoge","fuga"], function(n){ data.push(n); }); equals(data.length, 4); equals(data[0], "foo"); equals(da
CoffeeScriptで学ぶUnderscore.js(Chain編)。今回で15回目、ようやく最終回です。 chain _.chain(object) chainは、underscoreのメソッドを次々と連結して実行できる便利なメソッドです。 _ = require 'underscore' users = [ {name : 'curly', age : 25}, {name : 'moe', age : 21}, {name : 'larry', age : 23} ] youngest = _.chain(users) .sortBy (user)-> user.age .map (user)-> user.name + ' is ' + user.age .first() .value() console.log youngest 実行結果 $ coffee chain.cof
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く