あなたが分かるjsのcall()とappy()の二つの方法の違いと使い方は文語文から遠いです.
4367 ワード
よくなりました.この問題に対して、多くの子供が理解できないか迷っています.確かに遠回りしやすいです.やはりjsだけの対象です.
まあ、あなたが理解するのは正常ではないです.初め:まずコールというものを言います.
NO 1:まず簡単な例を見ます.1+1=2はできますよね? 1 , 4 5 , , 8 9, 10 11 1 , 4 5 , , 8 9, 10 11 ここでコードシートを書くと、1+1=2という人がいます.明らかに1-1=0になったという人もいますよね. 実はadd.call(sub,1,1);add(1,1)=2に等しい...
これは脳の障害ではないですか?余計なことをして、一挙にくそっというcallを作って、毛をかきますか?直接add(1,1)はだめですか?
よく分かりません.add.call(sub)です.きっとadd直接subの中の引き算です.じゃ、コールをして何をしますか?
どのような場面でcall、applyというきつい書き方が使われますか?
じゃ、次はグループの中の仲間からの質問に対して答えます.あれはあなたの脳障害ではないですか?余計なことをして、一挙にくそっというcallを作って、毛をかきますか?直接add(1,1) はよく分かりません.add.call(sub)はきっとadd直接subの中の引き算です.じゃないとコールをして何をしますか?
コール(): 文法:call(Obj,[arg 1]) 私の口語文: 1 , 4 5 , , 8 9, 10 11 15 , 1 , 4 5 , , 8 9, 10 11 15 , 1 , 4 5 , 1 , 4 5 , ここで、changeStyle関数はboxオブジェクトに呼び出されます.thisはboxオブジェクトを指します.
windowオブジェクトにはstyle属性がありません.アプリの使い方:
window.chageSteyle.apply(box,[height],‘200 px’);
現在window対象の「box」というdivの高さは直接200 pxになりました.
window.chageStyle.call(box,「height」,「200 px」)
box.style.height="200 px"に相当します.
ここを見たら分かりますよね.まだ分かりません.
この用法
window.chageSteyle.apply(box,[height],‘200 px’);
この書き方を見たら分かりますよね.えっと、実は書き方と形式が違っています.本質は同じです.
配列の中だけで、thisを変えるために、
これも、addの飛天スキルを盗むためですよ!
括弧内のオブジェクトを括弧外の関数にまとめる属性です.継承と呼ぶことができます.
まあ、あなたが理解するのは正常ではないです.初め:まずコールというものを言います.
NO 1:まず簡単な例を見ます.1+1=2はできますよね?
function add(a,b)
{
alert(a+b);
}
function sub(a,b)
{
alert(a-b);
}
add.call(sub,1,1); // ? ‘2’ ‘0’
これは脳の障害ではないですか?余計なことをして、一挙にくそっというcallを作って、毛をかきますか?直接add(1,1)はだめですか?
よく分かりません.add.call(sub)です.きっとadd直接subの中の引き算です.じゃ、コールをして何をしますか?
どのような場面でcall、applyというきつい書き方が使われますか?
じゃ、次はグループの中の仲間からの質問に対して答えます.
: ,
? !
:call :
:
callとappyは関数の実行環境、すなわちthisの方向を再定義するために使用できます.callとappyはいずれも関数を変更するために動作しています. contextとは文脈であり、換言すれば、関数体内部のthisの方向を変えるためである.何故なら JavaScript の関数には「定義時文脈」と「実行時文脈」と「文脈は変えられます」という概念があります.コール():
call ,sub add ,
:add , sub , sub , add , sub call , call add
sub , sub add “ ” ,
----------
function add(a,b)
{
alert(a+b);
}
function sub(a,b)
{
alert(a-b);
}
add.call(sub,1,1);
// sub add “ ” sub alert “a+b”! sub, add , !
3. call, apply ;
:
function changeStyle(attr, value)
{
this.style[attr] = value;
}
var box = document.getElementById('box');
window.changeStyle.call(box, "height", "200px");
windowオブジェクトにはstyle属性がありません.アプリの使い方:
window.chageSteyle.apply(box,[height],‘200 px’);
現在window対象の「box」というdivの高さは直接200 pxになりました.
window.chageStyle.call(box,「height」,「200 px」)
box.style.height="200 px"に相当します.
ここを見たら分かりますよね.まだ分かりません.
この用法
window.chageSteyle.apply(box,[height],‘200 px’);
この書き方を見たら分かりますよね.えっと、実は書き方と形式が違っています.本質は同じです.
配列の中だけで、thisを変えるために、
これも、addの飛天スキルを盗むためですよ!
括弧内のオブジェクトを括弧外の関数にまとめる属性です.継承と呼ぶことができます.