当前位置: 编程技术>WEB前端
本页文章导读:
▪对函数及递归的通俗理解 没有基础的兄弟可能对函数的递归比较难以理解,特别是递归里返回输出的概念理不清,是如何返回的。
下面是课本上的列子,就拿出来,用我的理解来做解释。希望能帮到对这块还没弄懂.........
▪ligerUI显示不正常时,需要注意的一个地方 今天用ligerUI写JSP前台,发现layout的滚动条显示不正常。
代码如何修改都没有效果,在IE中有问题,在firefox和chrome中都很正常。
后来修改DOCTYPE头发现,原因就在这里。
<!DOCTYPE HTML PUBLIC .........
▪【转】纯CSS制作带三角(border篇) 以前写过一篇纯CSS制作带三角的边框,那篇文章是用HTML特殊字符来制作三角的,今天介绍下,如何用 border 来制作三角。html 代码如下:<div ></div><div ></div><div ></div>&.........
[1]对函数及递归的通俗理解
来源: 互联网 发布时间: 2013-11-06
没有基础的兄弟可能对函数的递归比较难以理解,特别是递归里返回输出的概念理不清,是如何返回的。
下面是课本上的列子,就拿出来,用我的理解来做解释。希望能帮到对这块还没弄懂的兄弟。
<?php
function test($n){
echo $n."nbsp";
if($n>0){
test($n-1);//调用函数本身。
}else{
echo "<--->";
}
echo $n."$nbsp";
}
test(3);//调用函数输出。
下面是课本上的列子,就拿出来,用我的理解来做解释。希望能帮到对这块还没弄懂的兄弟。
<?php
function test($n){
echo $n."nbsp";
if($n>0){
test($n-1);//调用函数本身。
}else{
echo "<--->";
}
echo $n."$nbsp";
}
test(3);//调用函数输出。
?>
得到结果是 3 2 1 0 <---> 0 1 2 3
大家比较容易理解的是前面输出的3 2 1 0 但对于后面的 0 1 2 3 为什么输出不是很清楚。
要理解这个递归的回归输出先要弄清楚,什么是函数,
官方解释:
得到结果是 3 2 1 0 <---> 0 1 2 3
大家比较容易理解的是前面输出的3 2 1 0 但对于后面的 0 1 2 3 为什么输出不是很清楚。
要理解这个递归的回归输出先要弄清楚,什么是函数,
官方解释:
函数(function)是一段完成指定任务的已命名代码块。
使用函数的理由中有一条是:
可提高程序的重用性
重用性就是可以重复使用,不多次编写相同代码。 就是将程序中重复编写的代码写成函数,然后在其他多处需要使用时只用调用函数名就可使用,而不用再次重复编写相同代码。
通俗简单点讲,函数就是一段已经写好的代码一把已经造好的枪,然后将它放在了公共仓库里,
不同功能的函数都有自己的名字【function 函数名(){}】,如同不同功能的枪也有自己的名字,如来福枪,狙击枪,手枪等,这些取好名的函数和枪都已经编写好,造好,放在仓库。
然后有谁想使用某个功能的函数时,到这个仓库里喊这个函数的名字【函数名()】,就将函数拿了出来使用,如同警察依据任务的不同要求到仓库里拿不同功能的枪一样。
————这就是函数的定义。
函数的使用:
官方的叫法就是:调用 如 aaa();
通俗的理解就是:那个谁谁谁(叫函数的名字)过来这里,把交给你的代码给我在这个位置写一遍。
我的理解是,就是是替换,函数的调用就是一个占位符,遇到了这个占位符【aaa()】就替换成这个占位符【aaa()】指定的已经写好的函数里的代码。遇到就替换,然后程序继续按先后的顺序往下执行。
具体例子说明:
/*=============装函数(手枪)的仓库=======================*/
function test($n){
echo $n."nbsp";
if($n>0){
test($n-1);//调用函数本身。
}else{
echo "<--->";
}
echo $n."$nbsp";
}
/*=============装函数(手枪)的仓库======================*/
test(3); //调用函数,按我的想的就是遇到了占位符了,要替换名字叫test的那个函数里的代码,(你也可以理解成到仓库里拿叫test的枪装入3发子弹)
于是test(3)第一次遇到变成了
/***********************第一次调用时替换************************/
echo $n."nbsp"; //这个时候$n=3 子弹是三发
if($n>0){ //判断$n为3大于0 , 执行下边的
test($n-1); //再次遇到调用函数,遇到就替换,(子弹打出去一发)
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp"; // 这个时候$n=3,所以输出3
/***********************第一次调用时替换************************/
/***********************第二次调用时替换************************/
echo $n."nbsp"; //这个时候$n=3 子弹是三发
if($n>0){ //判断$n>3 执行下边的
echo $n."nbsp"; //这个时候$n=2 子弹是二发
if($n>0){ //判断$n为2大于0, 执行下边的
test($n-1); //再次遇到调用函数,遇到就替换,(子弹再打出去一发)
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp";//这个时候$n=2,所以输出2
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp"; //这个时候$n=3,所以输出3
/***********************第
通俗简单点讲,函数就是一段已经写好的代码一把已经造好的枪,然后将它放在了公共仓库里,
不同功能的函数都有自己的名字【function 函数名(){}】,如同不同功能的枪也有自己的名字,如来福枪,狙击枪,手枪等,这些取好名的函数和枪都已经编写好,造好,放在仓库。
然后有谁想使用某个功能的函数时,到这个仓库里喊这个函数的名字【函数名()】,就将函数拿了出来使用,如同警察依据任务的不同要求到仓库里拿不同功能的枪一样。
————这就是函数的定义。
函数的使用:
官方的叫法就是:调用 如 aaa();
通俗的理解就是:那个谁谁谁(叫函数的名字)过来这里,把交给你的代码给我在这个位置写一遍。
我的理解是,就是是替换,函数的调用就是一个占位符,遇到了这个占位符【aaa()】就替换成这个占位符【aaa()】指定的已经写好的函数里的代码。遇到就替换,然后程序继续按先后的顺序往下执行。
具体例子说明:
/*=============装函数(手枪)的仓库=======================*/
function test($n){
echo $n."nbsp";
if($n>0){
test($n-1);//调用函数本身。
}else{
echo "<--->";
}
echo $n."$nbsp";
}
/*=============装函数(手枪)的仓库======================*/
test(3); //调用函数,按我的想的就是遇到了占位符了,要替换名字叫test的那个函数里的代码,(你也可以理解成到仓库里拿叫test的枪装入3发子弹)
于是test(3)第一次遇到变成了
/***********************第一次调用时替换************************/
echo $n."nbsp"; //这个时候$n=3 子弹是三发
if($n>0){ //判断$n为3大于0 , 执行下边的
test($n-1); //再次遇到调用函数,遇到就替换,(子弹打出去一发)
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp"; // 这个时候$n=3,所以输出3
/***********************第一次调用时替换************************/
/***********************第二次调用时替换************************/
echo $n."nbsp"; //这个时候$n=3 子弹是三发
if($n>0){ //判断$n>3 执行下边的
echo $n."nbsp"; //这个时候$n=2 子弹是二发
if($n>0){ //判断$n为2大于0, 执行下边的
test($n-1); //再次遇到调用函数,遇到就替换,(子弹再打出去一发)
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp";//这个时候$n=2,所以输出2
}else{
echo "<--->"; //不执行
}
echo $n."$nbsp"; //这个时候$n=3,所以输出3
/***********************第
[2]ligerUI显示不正常时,需要注意的一个地方
来源: 互联网 发布时间: 2013-11-06
今天用ligerUI写JSP前台,发现layout的滚动条显示不正常。
代码如何修改都没有效果,在IE中有问题,在firefox和chrome中都很正常。
后来修改DOCTYPE头发现,原因就在这里。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
myeclipse中生成的jsp文件头是这样的,在这种情况下,整个页面都有点怪,会出现问题。
使用下面的就很正常。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
不过为了方便,直接用html5的格式
<!DOCTYPE HTML> <html lang="zh">
修改DOCTYPE之后,在所有浏览器中都能正常显示。
这么小的一个问题,用了1个多小时才解决,浪费时间啊。
作者:isea533 发表于2013-3-20 10:17:48 原文链接
阅读:35 评论:0 查看评论
[3]【转】纯CSS制作带三角(border篇)
以前写过一篇纯CSS制作带三角的边框,那篇文章是用HTML特殊字符来制作三角的,今天介绍下,如何用 border 来制作三角。
html 代码如下:
<div ></div>
<div ></div>
<div ></div>
<div ></div>
<div ></div>
<div ></div>
<div ></div>
css 代码如下:
.arrow-up {
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
_border-left: 5px solid white;
_border-right: 5px solid white;
border-bottom: 5px solid black;
overflow:hidden;
}
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
_border-left: 20px solid white;
_border-right: 20px solid white;
border-top: 20px solid #f00;
overflow:hidden;
}
.arrow-right {
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
_border-top: 60px solid white;
_border-bottom: 60px solid white;
border-left: 60px solid green;
overflow:hidden;
}
.arrow-left {
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
_border-top: 10px solid white;
_border-bottom: 10px solid white;
border-right:10px solid blue;
overflow:hidden;
}
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
_border-left: 5px solid white;
_border-right: 5px solid white;
border-bottom: 5px solid black;
overflow:hidden;
}
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
_border-left: 20px solid white;
_border-right: 20px solid white;
border-top: 20px solid #f00;
overflow:hidden;
}
.arrow-right {
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
_border-top: 60px solid white;
_border-bottom: 60px solid white;
border-left: 60px solid green;
overflow:hidden;
}
.arrow-left {
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
_border-top: 10px solid white;
_border-bottom: 10px solid white;
border-right:10px solid blue;
overflow:hidden;
}
效果图如下:
测试浏览器:chrome,firefox,ie8,ie7,ie6,safari,opera
PS:
1、原文并没有兼容 ie6 浏览器,所以我改了下,现在的版本已经可以兼容所有浏览器了。
2、相对于用 border 来做三角,我更加喜欢用 html 特殊字符来制作三角。
原文地址:http://www.w3cplus.com/code/303.html
本文链接
最新技术文章:
 
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!