Simplicity is the essence of happiness. - Cedric Bledsoe
前段时间遇到几道好无聊的面试题,有点类似于脑筋急转弯的感觉。感觉出这几道题的人真是好无聊! 第一题 以下输出结果是什么? $arr = array(0=>1,"aa"=>2, 3, 4); foreach($arr as $key=>$val){ print($key == "aa" ? 5 : $val); } 答案: 5534 分析: 这道题适及到数据类型自动转换, 0 == "aa"结果true。 我的评价: php弱类型语言,不同的操作符和数据类型之前的转换,有时候会匪夷所思。而且规则一堆,今天记住了,过段时间就忘了。 另外在实际应用中,都是使用全等于===,谁那么无聊会用上题中的==来判断???,即使你很清楚知道转换的规则,你能保证100%不出错吗,===这么安全的未什么不用?? 第二题 以下输出结果是什么? $a = 3; $b = 5; if($a = 5 || $b = 7) {...
发布于 9 years ago
652722
php5.5有三项的改变比较容易用上,现做以说明,分别是:迭代生成器yield, foreach,  finally yield 提供了一种更容易的方法来实现简单的对象迭代,但没有实现一个具有 Iterator 接口的类所带来的性能开销和复杂性 function nums(){ for($i = 1; $i <= 10; $i += 1) yield $i; } foreach (nums() as $value) { echo $value; } foreach php5.5增加了foreach对多维数组循环的功能, 加入了list()函数,请看示例 $array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { echo "A: $a; B: $b\n"; } //返回以下内容 A: 1; B: 2 A: 3; B: 4`&nb...
发布于 9 years ago
36040
php5.3以来, 加入了命名空间, 闭包, traits, 短数组等优美,漂亮的新特性,使得php程序代码看起来越来越优雅和简单。 php5.6的改变仍然振奋人心,本文主要讲php5.6的新特性相关的三个点:运算符, 常量, 命名空间。 运算符 1. php5.6新增幂运算符 . 符号为 **, **= printf("2 ** 1 == %d\n", 2 ** 1); $a = 3; $a **= 3; 2. 新境...运算符 . 该运符有两种功能 一. 变长参数 function f($a, $b = null, ...$params) { // $params 是一个包含了剩余参数的数组 } 二. 数组参数展开 function add($a, $b, $c) { return $a + $b + $c; } $operators = [2, 3]; echo add(1, ...$operato...
发布于 9 years ago
31537
android官网被那个啥了, 下载android studio ide不是很方便。 以下是我从android官网下载并上传到云盘上的快速下载链接。有需要的朋友可以以此下载。 android-studio-bundle-141.1980579-windows.exe 提取密码:vzej android-studio-ide-141.1980579-linux.zip 提取密码:7i7c 备注 需要手动下载sdk相关资源包的,请参考我整理的 官方sdk提供的开发所使用的资源集合
发布于 9 years ago
38131
安卓资源集(2015-06-12 05:32:30) 1. platform 版本 api等级 修订次数 描述 详细描述 是否废弃 下载 1 1.1 2 1 Android SDK Platform 1.1_r1 url 是 [windows 44.74Mb 校验码] [macosx 43.54Mb 校验码] [linux 43.44Mb 校验码] 2 1.5...
发布于 9 years ago
97436
HTML 5的概念形成后,W3C开始考虑标准化XMLHttpRequest接口,该接口使得Javascript可以进行HTTP(S)通信。 目前新版本为XMLHttpRequest Level 2, 最近一次草案时间为2014年5月26日,第二版支持跨域请求 接口 Chrome,Firefox,Opera与Safari都使用XMLHttpRequest2对象 Internet Explorer使用XDomainRequest对象,与XMLHttpRequest相比有所不同 浏览器支持情况 Chrome 3+ Firefox 3.5+ Opera 12+ Safari 4+ Internet Explorer 8+ 实现方法之简单请求 其实现分为简单请求和非简单请求两类,非简单请求在发送真实请求前会先进行检测请求。 本方法暂只简单介绍简单请求,非简单请求暂不说明 简单请求只支持HEAD, GET, POST方法, 且...
发布于 9 years ago
4744204
html5 提供了跨文档消息传输(Cross Document Messaging),可利用其进行跨域请求 实现方法 如:www.a.com/a.html 请求 www.b.com/b.html 1. 在a.html中内嵌iframe,通过iframe向b.html 发送message, 并准备接收消息 <iframe src="http://b.com/b.html"></iframe> <script type="text/javascript"> window.onmessage = function( event ) { alert( event.data ); } var iframe = document.getElementsByTagName('iframe')[0]; iframe.onload = function() { iframe.contentWindow.postMess...
发布于 9 years ago
7732275
实现原理 利用script标签可以跨域访问js文件 实现方法 如 http://a.com/a.html 需要请求 b.com/b.html 1. 在a.html中定义个回调函数,通过script标签引入b.html <script> function jsonpCallback( data ) { console.log( data ); } </script> <script src="http://b.com/b.html"></script> 2. b.html返回上面的回调的调用 jsonpCallback({ name : 'hello', }); 备注  在使用过程中,每次请求需生成一个随机回调,通过uri请求发送给服务端,由其返回。 缺点 1. 同一数据源的重复请求,效率很低, 因为每次请求,uri中都有随机回调函...
发布于 9 years ago
41239