一.写一个递归方法实现n!
public long Fac(int n)
{
if(n<=1)
return 1;
else
return n*Fac(n-1);
}
二.如何将一个array数组复制到arraylist中
string[] array=new string[]{"1","2","3"};
ArrayList list=new ArrayList();
第一种方法:for循环
for(int i=0;i<array.length;i++)
{
list.Add(array[i]);
}
第二种方法:CopyTo()方法
list.CopyTo(array);
第三种方法:使用ArrayList的Adapter()方法
ArrayList list2=ArrayList.Adapter(array);
第四种方法:直接使用构造方法传入,Array实现了ICollection
ArrayList list3=new ArrayList(array);
三.a.b两个值,不使用中间变量如何实现交换
1. var a=100,b=50;
a=a+b;
b=a-b;
a=a-b;
2. a=a^b;
b=a^b;
a=a^b;
3. a=[a,b];
b=a[0];
a=a[1];
4. a=[a:b,b:a];
b=a.b;
a=a.a;
四.ajax是什么,ajax的交互模型,同步和异步的区别,如何实现跨域(转自http://www.cnblogs.com/hsp09/articles/3479348.html)
Ajax是多种技术组合起来的一种浏览器和服务器交互技术,基本思想是允许一个互联网浏览器向一个远程页面/服务做异步的http调用,并且用收到的数据来更新一个当前web页面而不必刷新整个页面。该技术能够改进客户端的体验。包含的技术:
XHTML:对应W3C的XHTML规范,目前是XHTML1.0。
CSS:对应W3C的CSS规范,目前是CSS2.0
DOM:这里的DOM主要是指HTML DOM,XML DOM包括在下面的XML中
JavaScript:对应于ECMA的ECMAScript规范
XML:对应W3C的XML DOM、XSLT、XPath等等规范
XMLHttpRequest:对应WhatWG的Web Applications1.0规范(http://whatwg.org/specs/web-apps/current-work/)
AJAX交互模型
同步:脚本会停留并等待服务器发送回复然后再继续
异步:脚本允许页面继续其进程并处理可能的回复
跨域问题简单的理解就是因为JS同源策略的限制,a.com域名下的JS无法操作b.com或c.a.com下的对象,具体场景如下:
PS:(1)如果是端口或者协议造成的跨域问题前端是无能为力的
(2) 在跨域问题上,域仅仅通过URL的首部来识别而不会尝试判断相同的IP地址对应的域或者两个域是否对应一个IP
前端对于跨域的解决办法:
(1) document.domain+iframe
(2) 动态创建script标签