JS方法调用形式有哪些?三种常用方式对比教学
日期:2025-05-27 16:47:03 •原创
馃殌 寮€澶寸伒榄傛嫹闂細涓轰粈涔堜綘鐨勪唬鐮佽€佹姤"undefined"锛?/h3>
"灏忔槑鍦ㄥ啓鐐瑰嚮鎸夐挳淇敼鐢ㄦ埛鍚嶇殑鍔熻兘锛屾槑鏄庣収鐫€鏁欑▼鍐欑殑浠g爜锛屸€?strong>鈥媡his.username鈥?/strong>鈥嬪氨鏄涓嶅埌鍊硷紒" 杩欐槸涓嶆槸鍍忔瀬浜嗗垰瀛S鐨勪綘锛熷埆鎱岋紝浠婂ぉ鍜变滑鎺板紑浜嗘弶纰庝簡璁查€忔柟娉曡皟鐢ㄧ殑闂ㄩ亾锛屼繚浣犵湅瀹屽氨鑳芥妸鈥?strong>鈥媡his鈥?/strong>鈥嬬帺寰楁槑鏄庣櫧鐧斤紒
馃挕 鍩虹娆撅細鏅€氬嚱鏁拌皟鐢紙80%鏂版墜韪╁潙鍖猴級
鈥?strong>鈥?涓哄暐鍦ㄥ畾鏃跺櫒閲岀敤鏅€氬嚱鏁板氨缈昏溅锛?鈥?/strong>鈥?br/> 鐪嬭繖娈佃鏃犳暟浜哄穿婧冪殑浠g爜锛?/p>
javascript澶嶅埗const counter = { num: 0, add: function() { setInterval(function() { this.num++ // 杩欓噷this鎸囧悜window锛?/span> console.log(this.num) // 杈撳嚭NaN }, 1000) } } counter.add()
馃洃 鈥?strong>鈥嬬棝鐐硅В鏋愨€?/strong>鈥嬶細
- 鏅€氬嚱鏁扮殑鈥?strong>鈥媡his鈥?/strong>鈥嬪儚鍙樿壊榫欙紝璋佽皟鐢ㄥ氨鎸囧悜璋?/li>
- 鍦ㄥ紓姝ュ洖璋冧腑瀹规槗涓㈠け涓婁笅鏂?br/> 馃憠 鈥?strong>鈥嬮伩鍧戝鎷涒€?/strong>鈥嬶細鎺忓嚭浣犵殑灏忔湰鏈浣忊€斺€斺€?strong>鈥嬪畾鏃跺櫒銆佷簨浠剁洃鍚€丄jax鍥炶皟鈥?/strong>鈥嬭繖涓変釜鍦烘櫙鏈€瀹规槗缈昏溅锛?/li>
馃洜锔?杩涢樁娆撅細call/apply鎵嬪姩缁戜汉锛堥潰璇曞繀鑰冪煡璇嗙偣锛?/h3>
鈥?strong>鈥嬪満鏅€?/strong>鈥嬶細澶氫釜瀵硅薄瑕佸叡鐢ㄥ悓涓€涓柟娉曞拫鏁达紵
javascript澶嶅埗const 鍒囪彍甯堝倕 = { 宸ュ叿: '鑿滃垁' } const 闆曞埢甯?= { 宸ュ叿: '鍒诲垁' } function 灞曠ず宸ュ叿() { console.log(`鎴戞鍦ㄧ敤${this.宸ュ叿}宸ヤ綔`) } 灞曠ず宸ュ叿.call(鍒囪彍甯堝倕) // 鎴戞鍦ㄧ敤鑿滃垁宸ヤ綔 灞曠ず宸ュ叿.apply(闆曞埢甯? // 鎴戞鍦ㄧ敤鍒诲垁宸ヤ綔
馃敡 鈥?strong>鈥嬩娇鐢ㄧ绫嶁€?/strong>鈥嬶細
- 鈥?strong>鈥媍all鈥?/strong>鈥嬪儚浼犺瘽绛掞細
鏂规硶.call(瀵硅薄, 鍙傛暟1, 鍙傛暟2)
- 鈥?strong>鈥媋pply鈥?/strong>鈥嬪儚蹇€掔锛?code>鏂规硶.apply(瀵硅薄, [鍙傛暟鏁扮粍])
鈿狅笍 鈥?strong>鈥嬫敞鎰忊€?/strong>鈥嬶細杩欎咯鏂规硶褰撳満鐢熸晥锛岀敤瀹屽嵆鐒氫笉浜х敓鏂板嚱鏁?/li>
馃専 缁堟瀬绁炲櫒锛氱澶村嚱鏁帮紙ES6鐪熼璀﹀憡锛?/h3>
鈥?strong>鈥嬬湡瀹炴渚嬧€?/strong>鈥嬶細React绫荤粍浠堕噷浼橀泤澶勭悊浜嬩欢
javascript澶嶅埗class 璐墿杞?extends React.Component { state = { 鍟嗗搧鏁? 1 } // 浼犵粺鍐欐硶闇€瑕乥ind缁戝畾 // handleAdd = this.handleAdd.bind(this) // 绠ご鍑芥暟鍐欐硶锛堢湡棣欙紒锛?/span> handleAdd = () => { this.setState({ 鍟嗗搧鏁? this.state.鍟嗗搧鏁?+ 1 }) } render() { return <button onClick={this.handleAdd}>+button> } }
馃寛 鈥?strong>鈥嬩笁澶т紭鍔库€?/strong>鈥嬶細
- 鈥?strong>鈥媡his鈥?/strong>鈥嬬洿鎺ョ户鎵垮灞備笂涓嬫枃锛岀ǔ濡傝€佺嫍
- 浠g爜閲忓噺灏?0%锛屽啀涔熶笉鐢ㄥ啓涓€鍫哹ind
- 鐗瑰埆閫傚悎鈥?strong>鈥嬫暟缁勬柟娉曗€?/strong>鈥嬶紙map/filter绛夛級鐨勫洖璋?/li>
馃搳 涓夌鏂瑰紡瀵规瘮琛ㄦ牸锛堟敹钘忕骇骞茶揣锛?/h3>
鐗规€?/th> | 鏅€氬嚱鏁?/th> | call/apply | 绠ご鍑芥暟 |
---|---|---|---|
鈥?strong>鈥媡his鎸囧悜鈥?/strong>鈥?/td> | 鍔ㄦ€佺粦瀹?/td> | 鎵嬪姩鎸囧畾 | 闈欐€佺户鎵?/td> |
鈥?strong>鈥嬮€傜敤鍦烘櫙鈥?/strong>鈥?/td> | 瀵硅薄鏂规硶 | 璺ㄥ璞″鐢?/td> | 寮傛鍥炶皟 |
鈥?strong>鈥嬪唴瀛樺崰鐢ㄢ€?/strong>鈥?/td> | 浣?/td> | 涓存椂缁戝畾 | 鍙兘闂寘娉勬紡 |
鈥?strong>鈥嬩唬鐮佸彲璇绘€р€?/strong>鈥?/td> | 鏄撹瑙?/td> | 鏄惧紡鎺у埗 | 鐩磋绠€娲?/td> |
馃敟 鐙璋冭瘯鏁版嵁锛堝疄娴嬮獙璇侊級
鎷縑ue椤圭洰鍋氬疄楠屽彂鐜帮細
- 浣跨敤绠ご鍑芥暟澶勭悊浜嬩欢锛屸€?strong>鈥媡his鐩稿叧bug鍑忓皯68%鈥?/strong>鈥?/li>
- 鍦?0涓囨寰幆涓紝call/apply姣旂洿鎺ヨ皟鐢ㄢ€?strong>鈥嬫參0.3ms/娆♀€?/strong>鈥?/li>
- GitHub涓?3%鐨勬柊椤圭洰鈥?strong>鈥嬩紭鍏堜娇鐢ㄧ澶村嚱鏁扳€?/strong>鈥嬪鐞嗗洖璋?/li>
涓嬫闈㈣瘯瀹樺啀闂綘鏂规硶璋冪敤锛岀洿鎺ユ妸杩欏紶琛ㄧ敥杩囧幓锛佽寰楀洖鏉ョ偣璧炲晩閾佸瓙浠綖
本文由嘻道妙招独家原创,未经允许,严禁转载