二进制与 Go 的原子操作

2021-04-03
阅读 7 分钟
4.5k
二进制与 Go 的原子操作前置阅读:C语言中文网-汇编语言基本概念简介-补码及进制转换《GO 并发编程实战》—— 原子操作二进制相关基础概念有符号二进制整数有正数和负数。在 x86 处理器中,MSB 表示的是符号位:0 表示正数,1 表示负数。下图展示了 8 位的正数和负数:概念总结:反码、补码是二进制的一种表现形式;在计算...

二进制、反码、补码

2021-04-03
阅读 4 分钟
5.6k
二进制、反码、补码前置阅读:C语言中文网-汇编语言基本概念简介-补码及进制转换基础概念有符号二进制整数有正数和负数。在 x86 处理器中,MSB 表示的是符号位:0 表示正数,1 表示负数。下图展示了 8 位的正数和负数:概念总结:反码、补码是二进制的一种表现形式;在计算机内所有数值底层都用补码表示,无论正负数(十...

一次搞定 Unicode、字节序、UTF-*

2020-11-14
阅读 13 分钟
5.5k
前置阅读:Unicode 与 JavaScript 详解字符编码笔记:ASCII,Unicode 和 UTF-8谈谈Unicode编码How to teach endianThe Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)什么是字符集顾名思义,字符集就是字符的集合 。什么是 ASCIIASCII ((...

Lua 模块与包

2018-06-24
阅读 5 分钟
8k
Lua 模块与包 摘要 模块的概念 如何实现一个模块 如何引用一个模块 模块加载路径 package.path 环境变量 LUA_PATH 的设置 跨目录下的模块引用 缓存机制 执行环境 参考 Lua 中模块的概念 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在...

高能!typeof Function.prototype 引发的先有 Function 还是先有 Object 的探讨

2016-06-19
阅读 10 分钟
7.1k
来个摸底测试,说出以下每个表达式的结果 {代码...} {代码...} 看到这里相信有不少入门不久的同学已经产生疑惑了 是真的吗 然后在浏览器试过一番发现真是如此。 解开疑惑之前先回顾些大家都知道的知识点: 引用 MDN 关于 对象实例和对象原型对象 的阐述: JavaScript语言的所有对象都是由Object衍生的对象;所有对象都继...

被小看的小巨人 - viewport

2016-05-03
阅读 6 分钟
6.7k
chrome 的手持设备模拟器相信大家再熟悉不过了,那么左上角的320*480是神马 ?应该很多人已经在心里有了个答案。 在解开这个疑惑之前 需要引入一个概念:

浅谈 CSS 清除浮动的 6 种方法

2015-11-01
阅读 8 分钟
30.7k
额外标签法 使用:after 伪元素 给父元素定高 利用overflow:hidden;属性 父元素浮动 父元素处于绝对定位 在开发网页的时候经常需要用到各种浮动,此时便需要及时的清除浮动,否则将会导致布局出现问题 引出问题: {代码...} 可以看出本应包住3个 inner DIV的 outer DIV 却没有包住他们,此刻只剩一条由上下边框贴合组成的...

浅谈 JS 对象之扩展、密封及冻结三大特性

2015-10-22
阅读 10 分钟
26.6k
扩展特性 Object.isExtensible 方法 Object.preventExtensions 方法 密封特性 Object.isSealed 方法 Object.seal 方法 冻结特性 Object.isFrozen 方法 Object.freeze 方法 浅冻结 与 深冻结 扩展特性 如果一个对象可以添加新的属性,则这个对象是可扩展的。让这个对象变的不可扩展,也就是不能再有新的属性 我们都知道,...

浅谈 JS 对象添加 getter与 setter 的5种方法以及如何让对象属性不可配置或枚举

2015-10-20
阅读 10 分钟
47.3k
定义 getter 与 setter 通过对象初始化器定义 使用 Object.create 方法 使用 Object.defineProperty 方法 使用 Object.defineProperties 方法 使用 Object.prototype.__defineGetter__ 以及 Object.prototype.__defineSetter__ 方法 什么是属性描述符 创建属性不可配置不可枚举的对象 Enumerable 特性 Configurable 特新...

浅谈 JS 创建对象的 8 种模式

2015-10-15
阅读 6 分钟
17.2k
Objct 模式 工厂模式 构造器模式 通过 Function 对象实现 prototype 模式 构造器与原型方式的混合模式 动态原型模式 混合工厂模式 1.Object 模式 {代码...} 在 chrome 里查看各个新建对象的区别: 可以看出前6种模式创建出来的对象都是一样的,第七种不同点在于其虽然也为 Object 对象但其无任何属性(包括没有任何可以继承...

浅谈在JS中使用Object的watch方法监控对象属性

2015-10-13
阅读 2 分钟
12.5k
可以看到这两个方法是只针对 Gecko 内核的浏览器使用的(FF 是使用的 Gecko 内核).wacth 方法有两个参数,第一个参数是一个字符串,代表需要监视的属性名,第二个参数是个回调函数unwatch 方法只有一个参数,代表需要取消监视的属性名.

浅谈细说 JS 函数(call,apply,重载)

2015-10-12
阅读 4 分钟
6k
什么是函数? {代码...} 声明函数的几种方式 调用函数的几种方式 重载函数的实现 函数的独立性 声明函数 {代码...} 调用函数基本方法 {代码...} 调用函数的高级方法 {代码...} 输出结果: 这里方法一大家不言而喻,简单明了,直接就是声明了一个函数,需要指出的是,默认写的函数在不依附其他对象的情况下均为全局函数,即成为...

用9种办法解决 JS 闭包经典面试题之 for 循环取 i

2015-10-04
阅读 6 分钟
38.7k
正确的说,应该是指一个闭包域,每当声明了一个函数,它就产生了一个闭包域(可以解释为每个函数都有自己的函数栈),每个闭包域(Function 对象)都有一个 function scope(不是属性),function scope内默认有个名为 Global 的全局引用(有了这个引用,就可以直接调用 Global 的属性或方法)