外层不能调用函数内自执行函数的方法,改成这样:
站在用户的角度思考问题,与客户深入沟通,找到乐昌网站设计与乐昌网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、国际域名空间、虚拟空间、企业邮箱。业务覆盖乐昌地区。
function diyiceng() {
this.fangfa=(function () {
var jisuan=1+1;
return jisuan;
})()
}
var a=new diyiceng();
alert(a.fangfa);
可以这么写
M=
{
a:function()
{
....;
return this;
},
b:function()
{
.......;
return this;
}
}
M.a().b().a().b()//链式调用你的说法则是说b属于a,那么为了简化写法的,应当如下
M=
{
a:function(){}
}
M.a.b=function()
{
}
M.a.b()//js中函数也是对象,故可以添加属性如果你一定要如你自己所说那样调用,那么就如同链式调用那样,但要把返回值修改成M.a,如下
M=
{
a:function()
{
...;
return this.a;
}
}
M.a.b=function()
{
......;
}
M.a().b()//如同链式调用,可惜很浪费,不划算js刚入门,如果有错,希望指出,希望可以共同进步
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:
首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
特别注意两点:
第一,如果是协议和端口造成的跨域问题“前台”是无能为力的,
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会去尝试判断相同的ip地址对应着两个域或两个域是否在同一个ip上。
“URL的首部”指window.location.protocol +window.location.host,也可以理解为“Domains, protocols and ports must match”。
javascript 是基于对象的编程,在不引用外部组建的情况下,javascript内部没有连接数据库的对象。但是通过组件可以间接的进行数据库操作。只要连上了,理论上数据库都能访问。