html <a href>后面的id是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html <a href>后面的id是啥意思?相关的知识,希望对你有一定的参考价值。

<a href="news.php?id=1" target="_blank">新闻</a><br />
<a href="news.php?id=2" target="_blank">娱乐</a><br />
<a href="news.php?id=3" target="_blank">体育</a><br />
<a href="news.php?id=4" target="_blank">。。。。。。。。

那个id是动态生成的一般。
像:新闻,娱乐,体育,这些个新闻模块,体现在数据库里面就是 模块名,而程序中使用的时候就使用它的唯一标示:id。

生成页面的时候,都是读取数据库,然后一个一个显示到页面。

当你点击生成的链接传到后台时,程序怎么知道你点的是哪一个?就靠生成时后面跟个参数?id=x,你点击,后台就可以通过参数id获得x

然后通过x,获得x的内容,然后显示。

简单来说,id后面的数字是和 “新闻。。。”等等这些个模块名一一对应的。是当你点击一个链接,请求发到服务器后,服务器知道你请求的是那个模块的唯一标示。

?标示后面要跟参数 ,问号后面的id代表参数的name,等号后面的数字代表 name:id的值。value。
参考技术A <a href="123.php?id=<%=newsid%>">链接</a>
上面是语法规则,根据你的代码id是用来传参的
可以用来接受id的传值String random=request.getParameter("id");
参考技术B 上面是语法规则,根据你的代码id是用来传参的
可以用来接受id的传值String random=request.getParameter("id");
参考技术C 要传的参数

id, NSObject *, id<NSObject>区别

  我们经常会混淆以下三种申明:
  1. id foo1;
  2. NSObject *foo2;
  3. id<NSObject> foo3;

  第一种是最常用的,它简单地申明了指向对象的指针,没有给编译器任何类型信息,因此,编译器不会做类型检查。但也因为是这样,你可以发送任何信息给id类型 的对象。这就是为什么+alloc返回id类型,但调用[[Foo alloc] init]不会产生编译错误。

  因此,id类型是运行时的动态类型,编译器无法知道它的真实类型,即使你发送一个id类型没有的方法,也不会产生编译警告。

  我们知道,id类型是一个Objective-C对象,但并不是都指向继承自NSOjbect的对象,即使这个类型和NSObject对象有很多共同的方 法,像retain和release。要让编译器知道这个类继承自NSObject,一种解决办法就是像第2种那样,使用NSObject静态类型,当你 发送NSObject没有的方法,像length或者count时,编译器就会给出警告。这也意味着,你可以安全地使用像 retain,release,description这些方法。

  因此,申明一个通用的NSObject对象指针和你在其它语言里做的类似,像java,但其它语言有一定的限制,没有像Objective-C这样灵活。并 不是所有的Foundation/Cocoa对象都继承息NSObject,比如NSProxy就不从NSObject继承,所以你无法使用 NSObject*指向这个对象,即使NSProxy对象有release和retain这样的通用方法。为了解决这个问题,这时候,你就需要一个指向拥 有NSObject方法对象的指针,这就是第3种申明的使用情景。

  id<NSObject> 告诉编译器,你不关心对象是什么类型,但它必须遵守NSObject协议(protocol),编译器就能保证所有赋值给 id<NSObject>类型的对象都遵守NSObject协议(protocol)。这样的指针可以指向任何NSObject对象,因为 NSObject对象遵守NSObject协议(protocol),而且,它也可以用来保存NSProxy对象,因为它也遵守NSObject协议 (protocol)。这是非常强大,方便且灵活,你不用关心对象是什么类型,而只关心它实现了哪些方法。

  现在你知道你要用什么类型了不?

  如果你不需要任何的类型检查,使用id,它经常作为返回类型,也经常用于申明代理(delegate)类型。因为代理类型通常在运行时,才会检查是否实现了那些方法。

  如果真的需要编译器检查,那你就考虑使用第2种或者第3种。很少看到NSObject*能正常运行,但id<NSObject>无法正常运行 的。使用协议(protocol)的优点是,它能指向NSProxy对象,而更常用的情况是,你只想知道某个对象遵守了哪个协议,而不用关心它是什么类型。

 

PS:

  id 还可以表示基础类型,但是不能表示float,double类型
  NSObject *foo2; 如果使用这种形式,用到的时候需要强制类型转换,可能会很麻烦

 

转自:http://www.cocoachina.com/bbs/read.php?tid=151376

以上是关于html <a href>后面的id是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

JQUERY方法给TABLE动态增加行

window.location.href后面带参数怎么加

<新闻后面的new hot等>

MVC的前台界面中冒号与等号的区别

使用jquery获取指定li元素后面的所有兄弟元素

python基础1