2019年4月12日

摘要: 一、定义函数的方法 (1)函数声明 (2)函数表达式 二、函数声明方法定义函数 (1)FireFox、Safari、Chrome和Opera都给函数定义了一个非标准的name属性,通过这个属性可以访问到给函数指定的名字 (2)关于函数声明,它的一个重要的特征就是函数声明提升,意思是在执行代码之前会先 阅读全文
posted @ 2019-04-12 20:48 soldierback 阅读(2532) 评论(0) 推荐(0) 编辑
 
摘要: 所谓稳妥对象,指的是没有公共属性,而且其方法也不引用this的对象 在以这种模式创建的对象中,除了使用sayName()方法之外,没有其他办法访问name的值;可以像下面使用稳妥的Person构造函数 var friend = Person("Mary", 18, "Software Enginee 阅读全文
posted @ 2019-04-12 20:40 soldierback 阅读(318) 评论(0) 推荐(0) 编辑
 
摘要: 动态原型模式把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(仅在必要的情况下),又保持了 同时使用构造函数和原型的优点;换句话说,可以通过检查某个应该存在的方法是否有效,来决定是否需要初始化原型 阅读全文
posted @ 2019-04-12 20:20 soldierback 阅读(697) 评论(0) 推荐(0) 编辑
 
摘要: 注:js中 == 和 区别 简单来说: == 代表相同, 代表严格相同, 为啥这么说呢 这么理解:(1)当进行 == 比较时,先检查两个操作数数据类型,如果相同, 则进行 比较,否则进行一次类型转换再进行比较; (2)而 比较时, 如果类型不同,直接就是false. 比较过程: (1)双等号==: 阅读全文
posted @ 2019-04-12 20:03 soldierback 阅读(308) 评论(0) 推荐(0) 编辑
 
摘要: 一、原型对象 只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象;在默认情况下,所有原型对象都会 自动获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针 二、使用原型对象可以让所有对象实例 阅读全文
posted @ 2019-04-12 19:47 soldierback 阅读(528) 评论(0) 推荐(0) 编辑
 
摘要: function Person(name, age, job) { this.name = name; this.age = age; this.job = job; this.sayName = function() { alert(this.name); }; } var person1 = n 阅读全文
posted @ 2019-04-12 18:34 soldierback 阅读(641) 评论(0) 推荐(0) 编辑
 
摘要: function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.name); }; return o; } v... 阅读全文
posted @ 2019-04-12 18:26 soldierback 阅读(329) 评论(0) 推荐(0) 编辑
 
摘要: 一、对象定义 (1)ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同; (2)ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数” 二、创建对象的方法 (1)创建一个Object实列,然后再为它添加属性和方法 (2)用对象字面量创建对象 阅读全文
posted @ 2019-04-12 18:13 soldierback 阅读(172) 评论(0) 推荐(0) 编辑
 
摘要: 阅读全文
posted @ 2019-04-12 16:25 soldierback 阅读(99) 评论(0) 推荐(0) 编辑
 
摘要: 一、结构 二、str_cli函数 三、str_echo函数 四、在客户与服务器之间传递二进制结构有什么问题!!! 阅读全文
posted @ 2019-04-12 16:13 soldierback 阅读(210) 评论(0) 推荐(0) 编辑
 
摘要: void str_echo(int sockfd) { long arg1, arg2; ssize_t n; char line[MAXLINE]; for ( ; ; ) { if ( (n = read(sockfd, line, MAXLINE)) == 0) { return; } ... 阅读全文
posted @ 2019-04-12 15:57 soldierback 阅读(276) 评论(0) 推荐(0) 编辑
 
摘要: (1)当终止子进程时,必须捕获SIGCHLD信号; (2)当捕获信号时,必须处理被中断的系统调用; (3)SIGCHLD的信号处理函数必须正确编写,应使用waitpid函数以免留下僵死进程 阅读全文
posted @ 2019-04-12 15:30 soldierback 阅读(314) 评论(0) 推荐(0) 编辑
 
摘要: #include #include #include #include #include #include #include #include #include #include #define SERV_PORT 9999 #define MAXLINE 4096 #define LISTENQ 1024 #define SA struct sockaddr typed... 阅读全文
posted @ 2019-04-12 15:27 soldierback 阅读(233) 评论(0) 推荐(0) 编辑
 
摘要: #include #include void sig_chld(int signo) { pid_t pid; int stat; while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0) { printf("child %d terminated\n", pid); } return; }注... 阅读全文
posted @ 2019-04-12 15:18 soldierback 阅读(261) 评论(0) 推荐(0) 编辑
 
摘要: 阅读全文
posted @ 2019-04-12 14:38 soldierback 阅读(198) 评论(0) 推荐(0) 编辑
 
摘要: 一、多次bind的问题 服务器的【ip:port】被某套接字绑定成功后,在该绑定解除之前,同一个【ip:port】,不能再次被其他套接字绑定,否则绑定失败 二、多次accept的问题 有外来连接时,若accept成功则返回一个已连接套接字描述符,一个已连接套接字的标识为【客户端地址:端口,服务器地址 阅读全文
posted @ 2019-04-12 14:02 soldierback 阅读(471) 评论(0) 推荐(0) 编辑
 
摘要: 一、将任意类型的数字转换为字符串 二、将字符串转换为任意类型的数字 阅读全文
posted @ 2019-04-12 13:22 soldierback 阅读(1336) 评论(0) 推荐(0) 编辑
 
摘要: 一、server.c 二、writen.c 三、signal.c 四、sig_chld.c 五、Makefile 阅读全文
posted @ 2019-04-12 12:07 soldierback 阅读(182) 评论(0) 推荐(0) 编辑