当前标签 / 数组 / 总共2篇

JavaScript 高级程序设计(第3版)学习笔记

笔记1:非面向对象部分

这是阅读 《JavaScript 高级程序设计》 书籍的学习笔记,整理和归纳,方便自己今后复习和查阅,这里总结的基本上都是一些比较特殊的知识点,和 Java 等其他 高级语言 重复的地方不在归纳范围内。第一部分是基础部分(即非面向对象部分),基本上是围绕变量和函数展开的。

分号

ECMAScript 中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如下例所示:

1
2
var sum = a + b                 // 即使没有分号也是有效的语句——不推荐 
var diff = a - b;               // 有效的语句——推荐

推荐使用封号

变量

ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用 var 操作符(注意var是一个关键字),后跟变量名(即一个标识符),如下所示:

1
var message;

此时变量 message 会保存一个特殊的值 undefined, 定义变量的时候可以赋予初始值:

1
2
var message = "hi";
message = 100;   //有效,不推荐

虽然支持松散类型,但是不推荐给变量设置不同类型的值

阅读更多

C语言标准库梳理

概述

C89 标准库总共划分为 15 个部分,每个部分用一个头文件描述,C99 标准新增了 9 个(为了简化学习,这里暂不提 C11 标准),总共有 24 个头文件。

头文件描述
assert.h于验证程序做出的假设,并在假设为假时输出诊断消息
ctype.h字符判断和转换
errno.h定义了一系列表示不同错误代码的宏
float.h包含了一组与浮点值相关的依赖于平台的常量
limits.h决定了各种变量类型的各种属性,例如范围
locale.h定义了特定地域的设置,比如日期格式和货币符号
math.h定义了各种数学函数和一个宏
setjmp.h定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf
signal.h定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。
stdarg.h定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数
stddef.h定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。
stdio.h定义了三个变量类型、一些宏和各种函数来执行输入和输出。
stdlib.h定义了四个变量类型、一些宏和各种通用工具函数。
string.h定义了一个变量类型、一个宏和各种操作字符数组的函数。
time.h定义了四个变量类型、两个宏和各种操作日期和时间的函数。
--新增-----下面是C99新增---
complex.h复数算术
fenv.h浮点环境
inttypes.h整数类型格式转换
iso646.h拼写转换
stdbool.h布尔类型支持
stdint.h整数类型
tgmath泛型数学
wchar.h扩展的多字节和宽字符实用工具
wctype.h宽字符分类和映射使用工具

阅读更多