谢本寅

谢本寅 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

谢本寅 赞了回答 · 2020-11-03

解决js中typeof 和 instanceof 的理解

a只是一个以string为数据类型的值,但并不属于String对象的实例


var a= new String('aaa')
console.log(a instanceof String) //true 

关注 5 回答 4

谢本寅 赞了回答 · 2020-11-03

解决js中typeof 和 instanceof 的理解

a instanceof String 的真实意义是判断String是否在a的原型链上。如果字符串是用var a = new String('123')这种方式声明的话,String一定在a的原型链上。

var a = '123'这个变量a属于一个字面量字符串,而不是真正的由String构造函数new出来的字符串。

你可以在字符串字面值上使用字符串对象的所有方法——JavaScript会自动将字符串字面值转换为一个临时字符串对象,调用该方法,然后废弃掉那个临时的字符串对象。你也能用对字符串字面值使用类似String.length的属性。

具体你可以看看MDN关于String类型以及字面量的解释:

https://developer.mozilla.org...

https://developer.mozilla.org...

关注 5 回答 4

谢本寅 赞了文章 · 2020-11-02

void 0 与 undefined的区别

看到了这个么一段代码.

        function foo() {
                    var a  = arguments[0] !== (void 0 ) ? arguments[0] : 2;
                return a; 
        }

void 0 返回undefined,我们都知道的,但是为什么不直接 arguments[0] !== undefined?

1.undefined可以被重写

undefined 在 ES5 中已经是全局对象的一个只读(read-only)属性了,它不能被重写。但是在局部作用域中,还是可以被重写的。

(function() {
  var undefined = 10;
 
  // 10 -- chrome
  alert(undefined);
})();
 
(function() {
  undefined = 10;
 
  // undefined -- chrome
  alert(undefined);
})();

2.为什么选择void 0 作为undefined的替代

void 运算符能对给定的表达式进行求值,然后返回 undefined。也就是说,void 后面你随便跟上一个表达式,返回的都是 undefined,如 void (2), void (‘hello’)。并且void是不能被重写的。但为什么是void 0 呢,void 0 是表达式中最短的。用 void 0 代替 undefined 能节省字节。不少 JavaScript 压缩工具在压缩过程中,正是将 undefined 用 void 0 代替掉了。
查看原文

赞 2 收藏 0 评论 2

谢本寅 赞了回答 · 2020-10-19

解决JavaScript async/await 中执行顺序问题

async/await 是Promise的语法糖。

await async2();
console.log("async111 end"); 
// 相当于
Promise(()=>{
    async2(); // Promise中的函数是会立即执行的
}).then(()=>{
    console.log("async111 end"); 
})

Promise.then 是微任务,是在执行完一个宏任务队列后再清空执行的。

关注 4 回答 4

谢本寅 赞了回答 · 2020-10-19

解决JavaScript async/await 中执行顺序问题

async1函数相当于:

async function async1() {
    console.log("async1 start");
    async2().then(() => {
        console.log("async111 end"); // 为什么在 console.log("start")后执行
    })    
}

关注 4 回答 4

谢本寅 提出了问题 · 2020-10-18

解决JavaScript async/await 中执行顺序问题

async function async1() {
     console.log("async1 start");
    await async2();
    console.log("async111 end"); // 为什么在 console.log("start")后执行
}
async function async2() {
    setTimeout(() => {
        console.log("timer")
    }, 0)
    console.log("async2")
}
async1()
console.log("start")

输出结果
async1 start
async2
start
async111 end
undefined
timer


第3个输出结果为什么是 start 而不是 async111 end
为什么 async1 函数还没有执行到第二个 console.log 就输出了调用 async1() 函数后面的 console.log("start")?

关注 4 回答 4

谢本寅 赞了回答 · 2020-10-18

JavaScript async/await 输出问题

低级错误,函数执行应该加上括号 await q();

关注 2 回答 1

谢本寅 提出了问题 · 2020-09-27

vue 使用作用域插槽的一个问题

我在使用作用域插槽向父组件暴露数据的同时可以使用具名插槽吗?

关注 2 回答 1

谢本寅 关注了标签 · 2020-09-26

javascript

JavaScript 是一门弱类型的动态脚本语言,支持多种编程范式,包括面向对象和函数式编程,被广泛用于 Web 开发。

一般来说,完整的JavaScript包括以下几个部分:

  • ECMAScript,描述了该语言的语法和基本对象
  • 文档对象模型(DOM),描述处理网页内容的方法和接口
  • 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口

它的基本特点如下:

  • 是一种解释性脚本语言(代码不进行预编译)。
  • 主要用来向HTML页面添加交互行为。
  • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

JavaScript常用来完成以下任务:

  • 嵌入动态文本于HTML页面
  • 对浏览器事件作出响应
  • 读写HTML元素
  • 在数据被提交到服务器之前验证数据
  • 检测访客的浏览器信息

《 Javascript 优点在整个语言中占多大比例?

关注 168162

谢本寅 关注了标签 · 2020-09-26

vue.js

Reactive Components for Modern Web Interfaces.

Vue.js 是一个用于创建 web 交互界面的。其特点是

  • 简洁 HTML 模板 + JSON 数据,再创建一个 Vue 实例,就这么简单。
  • 数据驱动 自动追踪依赖的模板表达式和计算属性。
  • 组件化 用解耦、可复用的组件来构造界面。
  • 轻量 ~24kb min+gzip,无依赖。
  • 快速 精确有效的异步批量 DOM 更新。
  • 模块友好 通过 NPM 或 Bower 安装,无缝融入你的工作流。

官网:https://vuejs.org
GitHub:https://github.com/vuejs/vue

关注 129550

认证与成就

  • 获得 1 次点赞
  • 获得 3 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-09-26
个人主页被 267 人浏览