• js每日十题


    1. 6.2 第4题

    请阅读以下代码

    1

    2

    3

    var obj = {};

    obj.log = console.log;

    obj.log.call(console,this);

    该代码在浏览器中执行,输出的日志结果是什么?


    答:

    第二条代码表示 obj的log属性指向console的log函数,而console.log函数一般接收一个参数用于打印。

    第三局代码使用call,改变this指向,指向console,传入参数this。obj.log.call(console,this)=console.log(this)

    在函数里面的this指向console,但是打印的是从外面传进去的this对象,而this默认指向全局对象(window)。

    所以输出window。


    知识点:

    1. this默认指向全局对象(window)

    2. call()方法的第一个参数是函数内this的指向,第二个参数开始,一次被传入函数中。而且函数是立即执行的。

    2. 6.2 第5题

    1. function Person(age) {
    2. this.age = age;
    3. }
    4. Person.prototype = {
    5. constructor: Person,//指向person
    6. getAge: function () {
    7. console.log(this.age);
    8. },
    9. }
    10. var ldh = new Person(24);
    11. //ldh = { age: 24 }
    12. Person.prototype.age = 18;
    13. // Person.prototype = {
    14. // age: 18 ,
    15. // getAge: function () {
    16. // console.log(this.age);
    17. // },
    18. //}
    19. Object.prototype.age = 20;
    20. // Object.prototype = { age: 20 }
    21. ldh.getAge();
    22. //ldh这个对象上没有getAge方法,就去构造函数的原型上找
    23. //继承构造函数的原型上的getAge这个方法,this指向的是实例化对象ldh

     

    3. Promise.all(iterable)

    iterable :一个可迭代对象,例如 Array 或 String

    返回值:返回一个promise

    简单说:Promise.all 等待所有兑现(或第一个拒绝)的结果。

    Promise.all()文档

    1. // 如果要并行执行多个异步函数,你需要调用这些异步函数并使用返回的 Promise
    2. //错误的写法
    3. async function getPrice() {
    4. const choice = await promptForDishChoice();
    5. const prices = await fetchPrices();
    6. return prices[choice];
    7. }
    8. //正确
    9. async function getPrice() {
    10. const [choice, prices] = await Promise.all([
    11. promptForDishChoice(),
    12. fetchPrices(),
    13. ]);
    14. return prices[choice];
    15. }

  • 相关阅读:
    Linux|如何查找和删除重复文件
    java项目-第104期基于ssm出租车管理系统-java毕业设计
    【Luogu】 P5642 人造情感(emotion)
    C++/Qt获取屏幕尺寸和放大比例
    网络安全(黑客)自学
    ESP32网络开发实例-Web页面控制LED亮度
    责任链模式
    MongoDB CRUD操作:地理位置查询
    python基础简介
    MySQL安装
  • 原文地址:https://blog.csdn.net/m0_61368323/article/details/139383904