公司要求写一小型客服系统。根据以往的经验,想好架构和业务逻辑,操刀开做。
由于是客服系统,免不了要把用户端的应用嵌入到其它平台或者其它网站。针对这一点,我们JS方面就不能像传统直接通过“function 函数名() {}” 来定义函数。
下面是代码的部分:
var CSTING;
(function() {
if ($defined(CSTING)) {
return ;
}
var foo = function() {
alert(1);
}
return {
'foo': foo
}
)()
看上面的函数结构,完全不同于一般JS的写法(此写法是从朋友那里学来的)。我稍做解释:
1、语句“var CSTING”,并没有给它赋值。这句代码很重要,而且一定不要有赋值的情况出现(类似var CSTIN = {})。如果在js文件开头就赋值,那么在其它平台或者网站已经定义了CSTING变量就会被新赋值所代替,影响到平台或者网站原有的业务,造成不必要的麻烦。
2、语句“if ($defined(CSTING))”,此语法引用了mootools
的$defined。用来判断变量是否已经定义过(结合上语句"var CSTING;")。如果已定义,直接返回。
2.1 $defined的语句原型可以理解为 typeof(CSTING) == 'undefined' ? false : true。
3、语句"return { 'foo': foo }",可以理解为匿名函数执行后,返回一个object。object的属性foo是一个函数。
4、(function() {})(),是执行js匿名函数的写法。指马上执行当前function() {}内的函数体。
注:
文中名词“无侵入式编程”可能和HTML、CSS、Javascript中所说的“无侵入式编程”的概念相模糊。如果大家有更好的名词,请指定。
分享到:
相关推荐
基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf 本文主要介绍了基于Rhino引擎的低侵入式JavaScript内置对象扩展方法。Rhino引擎是一个JavaScript解析引擎,可以解析JavaScript脚本并生成网页信息。为了...
在《JavaScript DOM编程艺术》中,作者强调了**分离行为与结构**的重要性,即通过无侵入式JavaScript来实现这一点。无侵入式JavaScript指的是将JavaScript代码与HTML标记分离,使得HTML标记仅负责页面的结构和内容,...
2. **分离行为与结构**:详细阐述如何使用无侵入式JavaScript来分离网站的行为与结构。 3. **渐进增强**:讲解如何利用这一策略来提高网站的兼容性和用户体验。 4. **优雅降级**:讨论如何确保旧版浏览器也能正常...
在C#环境中,Hprose提供了轻量级、无侵入式且高性能的解决方案,使得开发人员能够轻松实现远程对象调用。下面将详细阐述Hprose的关键特性和在C#中的使用方法。 首先,Hprose的“轻量级”特性意味着它对项目的影响小...
本书以简明易懂的方式循序渐进地教授读者如何通过非侵入式JavaScript分离行为与结构、添加动态效果以及确保向后兼容性。书中强调了三种核心原则:非侵入式JavaScript、渐进增强以及优雅降级。 #### 书籍内容概览 ...
这里,`<script>`标签被用来引用外部的JavaScript文件`22-2.js`,而事件处理程序则是通过JavaScript代码动态绑定到元素上,实现了非侵入式的JavaScript编程方式。 通过这种方式,Dreamweaver不仅帮助开发者更好地...
与无侵入式验证紧密关联的是jQuery的无侵入式Ajax插件(jquery.unobtrusive-ajax.min.js)。它扩展了jQuery的Ajax功能,使得页面元素可以通过Ajax方式与服务器进行交互,而无需显式编程。通过data-*属性,开发者可以...
- **响应式设计**:JavaScript可以根据设备特性和屏幕尺寸调整网页布局,提供良好的跨设备体验。 - **Web API和库**:如jQuery、React、Vue等JavaScript库和框架,简化了开发流程,提高了开发效率。 总的来说,...
这本书聚焦于现代JavaScript开发的核心技术和最佳实践,强调无侵入式跨浏览器的策略,以提升用户体验,同时确保在用户使用屏幕阅读器或禁用JavaScript时页面仍能正常工作。书中避免了过时的DHTML技巧,而是关注那些...
在本文中,我们将探讨如何在Node.js环境中实现一个简单的无侵入式缓存框架,以模仿Python中的优雅缓存机制。在Python中,我们可以利用注解(如`@cache.cached`)在不改变原有业务逻辑的情况下实现方法的缓存。然而,...
无侵入式JavaScript是一种编程方法,它提倡将JavaScript代码与HTML标记分离,确保即使JavaScript被禁用的情况下网页仍然可用且具有良好的可访问性。这种方法的核心思想是将事件处理程序放在外部JavaScript文件中,而...
【标题】:“毕业设计:基于PHP非侵入式监控平台xhgui”是一个关于使用PHP构建的系统性能监控和故障定位工具的项目。这个平台,称为xhgui,旨在帮助开发者优化应用程序性能,快速定位并解决可能出现的错误,是开发...