การคัดลอกรหัสมีดังนี้:
var json = {
Jarray: [],
JPUSH: ฟังก์ชั่น (C) {
this.jarray.push (c);
-
-
var test = ["123", "~", "456"];
ใช้ foreach ที่กำหนดโดย ES5 เพื่อวนตัวอย่างและเพิ่มลงใน Jarray ใน JSON;
การคัดลอกรหัสมีดังนี้:
test.foreach (json.jpush);
จะมีการรายงานข้อผิดพลาดในเวลานี้:
เหตุผลสำหรับข้อผิดพลาดนี้คือสิ่งนี้ในวิธี json.jpush ไม่ได้ชี้ไปที่วัตถุ JSON แต่ไปที่หน้าต่าง การแก้ปัญหานี้คือการหาคนที่เหมาะสมสำหรับสิ่งนี้
โชคดีที่ foreach () จัดเตรียมพารามิเตอร์โดยเฉพาะสำหรับการระบุวัตถุ ดูรหัส
การคัดลอกรหัสมีดังนี้:
test.foreach (json.jpush, json);
การแจ้งเตือน (json.jarray); // ผลลัพธ์เป็นปกติ 123 ~ 456
มีวิธีอื่น:
การคัดลอกรหัสมีดังนี้:
test.foreach (ฟังก์ชั่น (c) {
json.jpush (c);
-
การแจ้งเตือน (json.jarray); // 123 ~ 456
คุณยังสามารถใช้ bind to bind
การคัดลอกรหัสมีดังนี้:
test.foreach (json.jpush.bind (JSON));
การแจ้งเตือน (json.jarray);
การผูกสร้างฟังก์ชั่นใหม่แทนการแก้ไขฟังก์ชัน พฤติกรรมของฟังก์ชั่นใหม่นั้นเหมือนกับฟังก์ชั่นดั้งเดิม แต่ตัวรับสัญญาณคือวัตถุที่เราให้ในขณะที่ตัวรับสัญญาณของฟังก์ชั่นดั้งเดิมยังคงไม่เปลี่ยนแปลง
ซึ่งหมายความว่าการใช้วิธีการผูกนั้นปลอดภัยมากเพราะเมื่อมีการแบ่งปันฟังก์ชั่นหรือวิธีการไม่จำเป็นต้องกังวลว่าวิธีที่ใช้ร่วมกันจะไม่ถูกแก้ไข