ການປະຕິບັດຫົວຂໍ້ວັດຖຸ JavaScript
- ກ່ອນນີ້ JS ການຈຳນວນຄວາມສຳຄັນ
- ຫລັງນີ້ JS ການເອິ້ນພາສານ
JavaScript 函数内部的代码会在“某物”调用它时执行。
调用 JavaScript 函数
在函数被定义时,函数内部的代码不会执行。
在函数被调用时,函数内部的代码会被执行。
调用函数通常也可以说“启动函数”或“执行函数”。
在本教程中,我们使用“调用”。
以函数形式调用函数
ຄວາມນະໂຍບາຍ
function myFunction(a, b) { return a * b; } myFunction(10, 2); // 将返回 20
以上函数不属于任何对象。但是在 JavaScript 中,始终存在一种默认的全局对象。
在 HTML 中,默认全局对象是 HTML 页面本身,所有上面的函数“属于”HTML 页面。
在浏览器中,这个页面对象就是浏览器窗口。上面的函数自动成为一个窗口函数。
myFunction() ແລະ window.myFunction() ແມ່ນວິທີການດຽວ:
ຄວາມນະໂຍບາຍ
function myFunction(a, b) { return a * b; } window.myFunction(10, 2); // ຈະກັບຄືນ 20
ນັ້ນແມ່ນວິທີການທົ່ວໄປເພື່ອເອິ້ນວິທີການ, ແຕ່ບໍ່ແມ່ນການກຳນົດທີ່ດີ.
ລະບົບທົ່ວໄປ, ວິທີການ, ຫຼື ວິທີການຂອງທົ່ວໄປຄວນມີການຂັດຂວາງຊື່ວິທີການ ແລະ ຄວາມອັນຕະລາຍ.
this ສິດຄຳສັບ
ໃນ JavaScript, ເອີ້ນວ່າ this
ສິ່ງທີ່ຖືກ "ມີ" ຂອງລະບົບນີ້
this
ຄູ່ມູນຄວາມຂອງມັນ, ເມື່ອນຳໃຊ້ໃນວິທີການ, ແມ່ນໂອບາຍປະເພດທີ່ມີເຈົ້າຂອງວິທີການ.
ບໍ່ລະບຸ this
ບໍ່ແມ່ນລະບົບ. ມັນແມ່ນສິດຄຳສັບ. ທ່ານບໍ່ສາມາດປ່ຽນໄດ້ this
ຄູ່ມູນຄວາມຂອງມັນ.
ໂອບາຍປະເພດທົ່ວໄປ
ເມື່ອບໍ່ມີໂອບາຍປະເພດມີເຈົ້າຂອງເອິ້ນໂອບາຍປະເພດthis
ຄູ່ມູນຄວາມຂອງມັນກາຍເປັນໂອບາຍປະເພດທົ່ວໄປ.
ໃນ web browser, ໂອບາຍປະເພດທົ່ວໄປແມ່ນໂອບາຍປະເພດ browser.
ຕົວຢ່າງນີ້: this
ຄູ່ມູນຄວາມຂອງມັນ:
ຄວາມນະໂຍບາຍ
var x = myFunction(); // x ຈະກັບຄືນ window object function myFunction() { return this; }
ການເອິ້ນວິທີການວ່າວິທີການທົ່ວໄປ this
ຄູ່ມູນຄວາມຂອງມັນກາຍເປັນໂອບາຍປະເພດທົ່ວໄປ.
ສະແດງວ່າມັນສາມາດໃຊ້ໂອບາຍ window ເພື່ອສ້າງຄວາມລົ້ມເຫຼວຂອງໂຄງການ.
ເພື່ອເອິ້ນວິທີການວ່າວິທີການ
ໃນ JavaScript, ທ່ານສາມາດກໍານົດວິທີການວ່າວິທີການໂອບາຍປະເພດ.
ຕົວຢ່າງທີ່ຈະສ້າງໂອບາຍປະເພດ (myObject), ທັງສອງລະບົບ (firstName ແລະ lastName), ແລະ ວິທີການ (fullName):
ຄວາມນະໂຍບາຍ
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // ຈະກັບຄືນ "Bill Gates"
ວິທີການ fullName ແມ່ນວິທີການ. ວິທີການນີ້ຢູ່ໃນໂອບາຍປະເພດ. myObject ແມ່ນເປັນເຈົ້າຂອງວິທີການ.
ຖືກເອີ້ນວ່າ this
ສິ່ງທີ່ຖືກ "ມີ" ຂອງລະບົບ JavaScript ນີ້ ແມ່ນໂອບາຍປະເພດ. ໃນຄັ້ງນີ້:this
ຄູ່ມູນຄວາມຂອງມັນ: myObject。
ທົດລອງຄືນ! ດັດແປງວິທີການ fullName ເພື່ອກັບຄືນ this
ຄູ່ມູນຄວາມຂອງມັນ:
ຄວາມນະໂຍບາຍ
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // ຈະກັບຄືນ [object Object] (ໂອບາຍປະເພດຜູ້ມີ)
ການເອິ້ນພາສານຜ່ານກົນລະບົບອົງການຈະສ້າງ this
ຄູກຂອງພາສານຈະກາຍເປັນອົງການເອງ.
ການເອິ້ນພາສານຜ່ານຄູກການສ້າງອົງການ
ຖ້າມີຄຳປະກອບ new
ຖ້າມີຄຳປະກອບ
ມັນບາງຄະດີທີ່ທ່ານຈະສ້າງພາສານໃໝ່, ແຕ່ຍ້ອນວ່າພາສານ JavaScript ແມ່ນອົງການ, ເທິງນັ້ນທ່ານຖ້າຈະສ້າງອົງການໃໝ່ຫນັງນັ້ນ.
ຄວາມນະໂຍບາຍ
// ນີ້ແມ່ນຄູກການສ້າງອົງການ: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // ຈະສ້າງອົງການໃໝ່: var x = new myFunction("Bill", "Gates"); x.firstName; // ຈະກັບຄື "Bill"
ການເອິ້ນຄູກການສ້າງອົງການຈະສ້າງອົງການໃໝ່. ອົງການໃໝ່ຈະຮັບການອະນຸຍາດທີ່ມາຈາກຄູກການສ້າງອົງການ.
ຢູ່ໃນຄູກການສ້າງອົງການ. this
ຄຳປະກອບບໍ່ມີຄູກ.
this
ຄູກຂອງການເອິ້ນພາສານຈະກາຍເປັນອົງການໃໝ່ທີ່ຖືກສ້າງຄືນໃນການເອິ້ນພາສານ.
- ກ່ອນນີ້ JS ການຈຳນວນຄວາມສຳຄັນ
- ຫລັງນີ້ JS ການເອິ້ນພາສານ