1
2
3
4
5
6
7
// JS获取对象
var obj = document.getElementById('id')
// 把JS对象转换到jQuery对象
var $obj = $(obj)
var $obj = $('#id')
// jQuery对象转换到JS对象
var obj = $obj.get(0)
这是作用域的问题,也就是说你对象里面的变量其实是private的,对对象里面的方法是隐藏的,这时我们就需要用this指针才能找得到对象的变量,在外部引用对象是对象名称充当了this指针。
所以说只有加this才能引用到对象的变量:
参考代码:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var obj = {
name:'eve',
getName:function () {
return this.name
}
}
//alert(obj.name)//eve
alert(obj.getName())//eve
</script>
</body>
</html>
效果:
前端通常作为模板,后端负责数据。前后端合作的主要目的,就是把后端产生的数据丢到前端的模板中。通常这一步有两种方式:
1. 前端的模板交给后端处理,直接写到后端逻辑中,或者通过 MVC 框架整合成后端的相对独立的部分;
2. 后端的数据通过 API 的方式交给前端处理,通过 Ajax 等方式传输数据。
(当然,也有两种方式混合处理的)
如果采用了后端处理模板的方式,那前端开发完静态模板后,需要交给后端开发人员进行模板的整合。这一步要求前端代码整洁易读,而且后端必须熟悉各种前端知识和调试技术。最后需要前端对后端处理过的页面进行检验和调试。(这种方式对沟通要求很高,如果两个人不坐在一起,那合作起来非常麻烦。出现问题或者需要升级时,往往很难定位谁的错,谁去改。所以最好两个人坐在一起开发,甚至一个人负责前后端)
如果采用前端处理数据,Ajax 等方式通信的话,前后端只要商量好所需的 API,然后持续交付一个个 API 就好了。前后端完全不需要了解,技术没有限制,也不需要知道彼此的代码和实现。
两种方式如何选择?
1. 如果前端页面主要做内容展示,需要后端处理的内容比较多,而前端逻辑简单时,建议采用后端 MVC。如博客、新闻类的网站;
2. 如果前端页面的交互和数据处理较多,可以将逻辑放在前端,而后端只负责数据存取。比如各类管理后台。