javascript语言精粹

本文深入探讨了JavaScript的基础知识,包括特殊值NaN的理解及其检测方法、简单类型与对象的区别、对象的创建方式及其属性访问机制、原型链的工作原理、函数的不同调用模式、参数的处理方式以及闭包的作用。

javascript中NaN是一个数值,NaN不等于任何值,包括它自己,可以用isNaN检测NaN。

Unicode是一个16位字符集,所以javascript中的所有字符都是16位的。

false,null,undefined,空字符串' ',0,NaN被当成是假。其他所有的值被当作真,包括true,“false”,以及所有对象。



typeof 产生的值有number,string,boolean,undefined,function,object

javascript的简单类型包括数字,字符串,布尔,null和undefined,其他所有的值都是对象。对象是属性的容器,其中每个属性都有名字和值。

javascript包括一个原型链特性,允许对象继承另一对象的属性,正确地使用它能减少对象初始化的时间和内存消耗。

对象字面量,一个对象字面量就是包围在一对花括号中的零或多个名/值对。

var stooge={

  “first”:“jerjoe”,

  "last":“howard”

};

对象字面量中,如果属性名是一个合法的javascript标识符且不是保留字,并不强制用括号括住属性名,所以“first-name”是必须的,而first_name是可以不括号的。

属性的值可以从包括另一个对象字面量在内的任意表达式中获得,对象是可嵌套的。


原型

每个对象都连接到一个原型对象,并且它可以从中继承属性,所有通过字面量创建的对象都连接到object.prototype这个javascript中的标准对象。

原型连接只有在检索值的时候才会被用到,若获取不到对象的某个值,javascript会尝试从原型对象中获取属性值,这个过程称为委托。

原型关系是一种动态的关系,如果添加一个新的属性到原型中,该属性会立即对所有基于该原型创建的对象可见。

hasOwnProperty,如果对象拥有独立的属性,它将返回true,hasOwnProperty方法不会检查原型链。


函数

每个函数在创建时附有两个附加的隐藏属性:函数的上下文,实现函数行为的代码。通过函数字面量创建的函数对象包含一个连接到外部上下文的连接,被称为闭包。

javascript一共有四种调用模式:方法调用模式,函数调用模式,构造器调用模式,apply调用模式。


方法调用模式

当一个函数被保存为对象的一个属性时,我们称之为一个方法。当一个方法被调用时,this被绑定到该对象。

函数调用模式

当一个函数并非一个对象的属性时,那么它被当成一个函数来调用。

构造器调用模式

若在一个函数前面带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this绑定到那个新对象上。

apply调用模式

apply方法让我们构建一个参数数组并用其去调用函数,apply方法接收两个参数,第一个将被绑定给this的值,第二个就是一个参数数组。


参数

当函数被调用时,会得到一个参数,那就是arguments数组,通过它函数可访问所有它被调用时传递给他的参数列表。


javascript缺少块级作用域。


闭包

块级作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量。内部函数拥有比他的外部函数更长的生命周期。


运算符优先级

. [ ] ()属性存取及函数调用
delete new typeof + -!一元运算符
* / %乘法,除法,取模
+ -加法,减法
>= <= > <不等式运算符
=== ! ==等式运算符
&&逻辑与
||逻辑或
?:
三元
先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值