Java中线程池,你真的会用吗?

  我骑着小毛驴,喝着大红牛哇,哩个啷格里格朗,别问我为什么这木开心,如果活着不是为了浪荡那将毫无意义
  
  今天来捋一捋我们平日经常用的instanceof和typeof的一些小问题
  
  typeof:
  
  typeof里面是由一个小坑的  我们今天着重来研究一下这个小坑
  
  假设现在问一个问题          typeof(null) 结果为啥  可能你会觉得他是null   或者是Object ,可能有的同学会说那当然是null了
  
  其实正确答案是Object,那你知道为什么结果是Object吗,看到这你可能觉得你怎么这木啰嗦,不是我啰嗦,是因为学习嘛,不刨根问底就没意思了
  
  下面我们来说说原因:因为在 JS 的最初版本中,使用的是 32 位系统,为了性能考虑使用低位存储了变量的类型信息,000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。                    虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来
  
  在 ES6 中曾有关于修复此 bug 的提议,提议中称应该让 typeof null === 'null',但是该提议被无情的否决了,自此 typeof null 终于不再是一个 bug,而                 是一个 feature,并且永远不会被                 修复。
  
  下面是我从网上找的第一版javascript 实现中,判断类型的代码是这么写的:
  
  能看懂就看看,看不懂也无所谓,反正我也看不懂
  
  复制代码
  
  if (JSVAL_IS_VOID(v)) {  // (1)
  
  type = JSTYPE_VOID;
  
  } else if (JSVAL_IS_OBJECT(v)) {  // (2)
  
  obj = JSVAL_TO_OBJECT(v);
  
  if (obj &&
  
  (ops = obj->map->ops,
  
  ops == &js_ObjectOps
  
  ? (clasp = OBJ_GET_CLASS(cx, obj),
  
  clasp->call || clasp == &js_FunctionClass) // (3,4)
  
  : ops->call != 0)) {  // (3)
  
  type = JSTYPE_FUNCTION;
  
  } else {
  
  type = JSTYPE_OBJECT;
  
  }
  
  } else if (JSVAL_IS_NUMBER(v)) {
  
  type = JSTYPE_NUMBER;
  
  } else if (JSVAL_IS_STRING(www.ysyl157.com)) {
  
  type = JSTYPE_STRING;
  
  } else if (JSVAL_IS_BOOLEAN(v)) {
  
  type = JSTYPE_BOOLEAN;
class Flask(object):
    def wsgi_app(self, environ, start_response):
        ctx = self.request_context(environ)
        ctx.push(www.dasheng178.com/)
        error = None
        try:
            try:
                response www.mcyllpt.com= self.full_dispatch_request()
            except Exception as e:
                error = e
                response = self.handle_exception(e)
            except:
                error = sys.exc_info(www.hjylp178.com)[1]
                raise
            return response(environ,www.meiwanyule.cn start_response)
        finally:
            if self.should_ignore_error(error):
                error = None
            ctx.auto_pop(error)
  
  }
  
  复制代码
  
  instanceof
  
  下面我们来说一说instanceof,今天我们着重来看一看实现原理
  
  instanceof的实现原理是通过判断对象的原型链中是不是能找到类型的 prototype
  
  下面我们自己来写一个类似于instanceof的函数
  
  复制代码
  
  function instanceof(left, right) {
  
  // 获得类型的原型
  
  let prototype = right.prototype
  
  // 获得对象的原型
  
  left = left.__proto__
  
  // 判断对象的类型是否等于类型的原型
  
  while (true) {
  
  if (left === null)
  
  return false
  
  if (prototype === left)
  
  return true
  
  left = left.__proto__
  
  }
  
  }
  
  复制代码
  
  这木无趣的文章你竟然能看到这里,说,是不是对我有意思?要是你是女孩子,请联系我好吧,我这代养十八至二十五周岁的适龄女孩子,什么你是男的,那看完抓紧时间gun,等我啥时候
  
  开始搞基了我再通知你
  
  代码成就万世基基沙镇海 梦想永在凌云意意气风发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值