`
duanyong
  • 浏览: 93555 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript 无侵入式编程

    博客分类:
  • web
阅读更多

    公司要求写一小型客服系统。根据以往的经验,想好架构和业务逻辑,操刀开做。

    由于是客服系统,免不了要把用户端的应用嵌入到其它平台或者其它网站。针对这一点,我们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中所说的“无侵入式编程”的概念相模糊。如果大家有更好的名词,请指定。

 

分享到:
评论
1 楼 css3 2011-04-20  
呵呵,不错,

相关推荐

    基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf

    基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf 本文主要介绍了基于Rhino引擎的低侵入式JavaScript内置对象扩展方法。Rhino引擎是一个JavaScript解析引擎,可以解析JavaScript脚本并生成网页信息。为了...

    JavaScript Dom编程艺术

    在《JavaScript DOM编程艺术》中,作者强调了**分离行为与结构**的重要性,即通过无侵入式JavaScript来实现这一点。无侵入式JavaScript指的是将JavaScript代码与HTML标记分离,使得HTML标记仅负责页面的结构和内容,...

    JavaScript.DOM.编程艺术

    2. **分离行为与结构**:详细阐述如何使用无侵入式JavaScript来分离网站的行为与结构。 3. **渐进增强**:讲解如何利用这一策略来提高网站的兼容性和用户体验。 4. **优雅降级**:讨论如何确保旧版浏览器也能正常...

    C# Hprose轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用通讯中间件

    在C#环境中,Hprose提供了轻量级、无侵入式且高性能的解决方案,使得开发人员能够轻松实现远程对象调用。下面将详细阐述Hprose的关键特性和在C#中的使用方法。 首先,Hprose的“轻量级”特性意味着它对项目的影响小...

    DOM Scripting Web Design with JavaScript and the Document Object Model

    本书以简明易懂的方式循序渐进地教授读者如何通过非侵入式JavaScript分离行为与结构、添加动态效果以及确保向后兼容性。书中强调了三种核心原则:非侵入式JavaScript、渐进增强以及优雅降级。 #### 书籍内容概览 ...

    Dreamweaver基础教程—使用Dreamweaver开发JavaScript脚本.

    这里,`<script>`标签被用来引用外部的JavaScript文件`22-2.js`,而事件处理程序则是通过JavaScript代码动态绑定到元素上,实现了非侵入式的JavaScript编程方式。 通过这种方式,Dreamweaver不仅帮助开发者更好地...

    jquery验证包

    与无侵入式验证紧密关联的是jQuery的无侵入式Ajax插件(jquery.unobtrusive-ajax.min.js)。它扩展了jQuery的Ajax功能,使得页面元素可以通过Ajax方式与服务器进行交互,而无需显式编程。通过data-*属性,开发者可以...

    JavaScript在动态网设计中的应用.docx

    - **响应式设计**:JavaScript可以根据设备特性和屏幕尺寸调整网页布局,提供良好的跨设备体验。 - **Web API和库**:如jQuery、React、Vue等JavaScript库和框架,简化了开发流程,提高了开发效率。 总的来说,...

    (英文不错)Apress.Beginning.JavaScript.with.DOM.Scripting.and.Ajax.Fr

    这本书聚焦于现代JavaScript开发的核心技术和最佳实践,强调无侵入式跨浏览器的策略,以提升用户体验,同时确保在用户使用屏幕阅读器或禁用JavaScript时页面仍能正常工作。书中避免了过时的DHTML技巧,而是关注那些...

    Node.js 实现简单的无侵入式缓存框架的方法

    在本文中,我们将探讨如何在Node.js环境中实现一个简单的无侵入式缓存框架,以模仿Python中的优雅缓存机制。在Python中,我们可以利用注解(如`@cache.cached`)在不改变原有业务逻辑的情况下实现方法的缓存。然而,...

    DOM Scripting

    无侵入式JavaScript是一种编程方法,它提倡将JavaScript代码与HTML标记分离,确保即使JavaScript被禁用的情况下网页仍然可用且具有良好的可访问性。这种方法的核心思想是将事件处理程序放在外部JavaScript文件中,而...

    毕业设计:基于PHP非侵入式监控平台xhgui(优化系统性能、定位Bug神器).zip

    【标题】:“毕业设计:基于PHP非侵入式监控平台xhgui”是一个关于使用PHP构建的系统性能监控和故障定位工具的项目。这个平台,称为xhgui,旨在帮助开发者优化应用程序性能,快速定位并解决可能出现的错误,是开发...

Global site tag (gtag.js) - Google Analytics