Javascript如何区分function和class?

广告位招租
扫码页面底部二维码联系

JS里面,普通的function也可以通【作者:唐霜】【版权所有】唐霜 www.tangshuang.net过new进行实例化,成为一个对象。而ES【原创不易,请尊重版权】【原创不易,请尊重版权】6引入的class是个阉割版本,导致cl【未经授权禁止转载】【本文受版权保护】ass缺失了作为class的特征,cla【本文首发于唐霜的博客】【版权所有,侵权必究】ss可以理解为封装的function。所【关注微信公众号:wwwtangshuangnet】【本文受版权保护】以,在JS里面区分一个值是functio本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。n还是class是比较麻烦的,目前TC3本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】9已经在考虑加入[[FunctionKi【原创内容,转载请注明出处】【版权所有,侵权必究】nd]]来进行区分。目前,我们可以通过一本文作者:唐霜,转载请注明出处。原创内容,盗版必究。些办法来区分,如果是在纯浏览器环境下,我【转载请注明来源】著作权归作者所有,禁止商业用途转载。们有如下的一些办法:

著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】
  1. 通过字符串
  2. 【本文首发于唐霜的博客】【原创不易,请尊重版权】

把function或class与空字符串未经授权,禁止复制转载。【原创内容,转载请注明出处】连接,得到字符串就可以看出来。

【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。
  1. 通过prototype的discript【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】or
  2. 本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】未经授权,禁止复制转载。

对于class A而言Object.ge【转载请注明来源】【转载请注明来源】tOwnPropertyDescript【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。or(A, ‘prototy【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】pe’)的writable为转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。false,而对于function a而本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。言,Object.getOwnPrope【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.netrtyDescriptor(a, 【本文首发于唐霜的博客】【未经授权禁止转载】216;prototype’【原创不易,请尊重版权】原创内容,盗版必究。)的writable为true。

【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】【转载请注明来源】
  1. 通过arguments
  2. 原创内容,盗版必究。本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】【原创不易,请尊重版权】

对于class A而言,A.argume本文版权归作者所有,未经授权不得转载。【转载请注明来源】nts会报错,而对于function a【版权所有,侵权必究】【本文受版权保护】而言,a.arguments为null。

【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。【未经授权禁止转载】

这些方法都抵挡不住现在很多编译工具会把c本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】lass编译为ES5的function,著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net这导致这些特性都失效,所以能不能用还要看未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。你项目里面的编译是怎么做的。

未经授权,禁止复制转载。【版权所有,侵权必究】原创内容,盗版必究。【本文首发于唐霜的博客】