首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
C 语言精髓之变参函数
】的更多相关文章
C 语言精髓之变参函数
我们以 printf 这个 very 熟悉的函数为例,来分析一下变参函数.先看下 printf 函数的定义: int printf(const char *fmt, ...) { int i; int len; /* va_list 即 char * */ va_list args; va_start(args, fmt); /* 内部使用了 va_arg() */ len = vsprintf(g_PCOutBuf,fmt,args); va_end(args); for (i = 0; i…
试读《JavaScript语言精髓与编程实践》
有幸看到iteye的活动,有幸读到<JavaScript语言精髓与编程实践_第2版>的试读版本,希望更有幸能完整的读到此书. 说来读这本书的冲动,来得很诡异,写一篇读后感,赢一本书,其实奖励并不大,依靠纯粹的物质奖励,很显然,不会强烈的促使我去读这本书.而原因在于,一方面对javascript的极大兴趣,另一方面之前已经拜读过如<javascript高级程序设计><高性能javascript><javascript设计模式>等书,那我就有了要看看这本书都写了…
《JavaScript语言精髓与编程实践》读书笔记
JavaScript语言精髓与编程实践读书笔记 function v1(v1){ v1 = 100; alert('v1:'+v1); } function v2(name){ v1.apply(this, arguments); alert(name); } //显示传入的参数未被修改, 值 v2('myName');…
JavaScript语言精髓(1)之语法概要拾遗(转)
JavaScript语言精髓(1)之语法概要拾遗 逻辑运算 JavaScript中支持两种逻辑运算,“逻辑或(||)”和“逻辑与(&&)”,他们的使用方法与基本的布尔运算一致: var str= ‘hello’; var obj = {}; x = str || obj; y = str && obj; 这种运算符的特殊之处在于,他既不改变运算元的数据类型,也不强制运算结果的数据类型.除此之外,还有两条特性: 运算符会将运算元理解为布尔值: 运算过程支持布尔短路. 因此…
js:语言精髓笔记12--动态语言特性(2)
对于括号内: 通过赋值时发生的重写: (Object1 = function() {}).prototype.value = 100; var obj1 = new Object1; console.log(obj1.value); // 100 语法声明阶段的重写: //会报错,一般引擎不承认在表达式中声明的标识符: (function Object2() {}).prototype.value = 100; 重写: 对内部对象系统的影响: 重写内置构造器:任意构造器的原型属性不受内置构造器重…
js:语言精髓笔记11--动态语言特性(1)
语言:程序最终被表达为数据(结构)和逻辑(算法),命令式和说明式/函数式语言分别从这两方面分类: 动态:在语言陈述时无法确定,必须在计算机执行时才能确定语言关系:JS是完全动态语言,导致其不确定性一般包括: 标识符确定:表现为动态类型,动态重写,动态存取数据结构: 语句上下文确定:表现为动态变量/语法作用域,闭包作用域: 起源: 动态数据类型: 动态类型声明(动态类型绑定):语言变量是无类型的,只有在赋值后才有某种类型: 动态空间分配(动态数据绑定):变量在赋值时才会分配空间: 动态执行系统:…
js:语言精髓笔记9--函数式语言特征
形式化运算系统的研究: 图灵:提出图灵机形式系统,通过0,1运算系统来解决复杂问题: 冯诺依曼:提出了冯诺依曼体系:即通过修改内存反映运算结果: 阿隆左.丘奇:提出新的运算范型Lambda演算,计算机运算才是本质,修改内存只不过是这种运算规则的副作用: 后出现函数式语言的鼻祖:LISP; 函数式语言: 通过连续表达式运算求值的语言; 由于现在的计算机都是基于冯诺依曼体系建立的,所以函数式语言就是运行在解释环境而非编译环境的: 结果:大多数人都在使用基于冯诺依曼体系的命令式语言,但为了获得特别的计…
js:语言精髓笔记8--对象系统
封装: 一把对象系统,封装是由语法解析来实现的,即语法作用域:但js是动态语言,因此只能依赖变量作用域: js的变量作用域只有表达式,函数,全局三种:所以js只能实现public和private两种封装性; //js中类表现为构造器: function MyObject () { //private var data = 100; function _run(v) { alert(v); } //pbulic this.value = 'the data is '; thi…
js:语言精髓笔记7----原型继承
面向对象有三个基本特性:封装,继承,多态:如果都满足的话称为面向对象语言:而部分满足则称为基于对象语言: 数据类型实现模型描述: JavaScript对象模型: 构造过程:函数->构造器 构造器首先是一个函数,可以理解为函数初始化的时候其prototype是无值的,只有在需要引用到原型时,才具有构造器的的特性: 函数的原型总是一个标准的.系统内置的Object()构造器的实例: 该实例创建后construct属性总先被赋值为当前函数; 继承复制: 构造复制:每构造一个实例就从原型中复制一个映像,…
js:语言精髓笔记5----语言分类
计算模型:源于对计算过程的不同认识: 1.基于不同计算模型一般分为://教科书的一般分类 命令式语言: 函数式语言: 逻辑式语言: 面向对象程序设计语言: 2.基于程序本质分类: //编程的经典法则:算法+数据结构=程序: 命令式: //基于数据结构 结构化编程(冯诺依曼:计算机系统以存储和处理为核心)[面向存储的编程]: 面向对象编程: 说明式: //基于算法 函数式: 其他: 命令式语言面临的问题:如何抽象数据存储: 结构化编程:通过运算去改变内存: 结构: 控制结构:顺序,分支,…