dojo学习重点笔记专业资料.doc
《dojo学习重点笔记专业资料.doc》由会员分享,可在线阅读,更多相关《dojo学习重点笔记专业资料.doc(68页珍藏版)》请在咨信网上搜索。
· Dojo学习笔记(1. 模块与包) Intro: Dojo是一种非常强大面向对象JavaScript工具箱,建议读者可以去补充一下JavaScript下如何 使用OO进行编程,这对于你后来阅读Dojo Source有很大用处. 请人们下载dojo 0.3.1,如下阐明均针对此版本 翻译自 Getting Started 1:把Dojo加入到咱们Web程序中 1. 标志 <script type="text/javascript"> djConfig = { isDebug:false }; </script> djConfig是Dojo里一种全局对象,其作用就是为Dojo提供各种选项,isDebug是最惯用属性之一, 设立为True以便可以在页面上直接看到调试输出,固然其中尚有些属性与调试关于,这里就不罗索了 2. 引用 dojo 启动代码 <script type="text/javascript" src="/yourpath/dojo.js" /> 这样你就引用了dojo代码,并可以直接使用其中某些惯用对象,下载下来dojo.js是压缩 (remove comments and space)后裔码,要阅读话,建议阅读dojo.js.uncompressed.js,dojo.js 大概有127K,而未压缩前有211K,ok,为什么会这样大呢,本来其已经把某些惯用模块整合进dojo.js里, 因而显得大了一点,build.txt里就阐明了默认dojo.js包括了哪些模块 3. 声明你所要用到包 <script type="text/javascript"> dojo.require("dojo.math"); dojo.require("dojo.io.*"); dojo.require("dojo.widget.*"); </script> 你就把这些代码当成是javaimport语句或C#中using语句同样,如果你不require话,而模块自身又 没有整合在dojo.js中,是会浮现脚本错误喔 2. 针对不同需求提供预整合包 Dojo自身是由许多模块所组合而成,但是由于顾客需求多样性,dojo针对不同需求而提供了不同 版本,顾客在下载dojo时候就看见可以选取诸多版本,例如Ajax版和Widget版,每个版本最重要区 别就在于dojo.js文献,但是除此之外,每一种版本都是全功能,dojo.js依照版本不同而整合进了不 同模块 3. 直接获取Dojo最新源代码 一方面你必要安装 Subversion,当Subversion在你电脑上可以正常工作后,你就可以通过如下命令下载 dojo源代码: svn co 这会在你当前目录下创立一种 trunk 目录;如果你但愿直接Get到当前目录,用这个命令: svn co 或者你但愿Get到当前目录下 MyDir 目录,用这个命令: svn co 模块与包 模块 Dojo代码被划分为逻辑单元称之为模块,这有点类似于Java中package,除了dojo模块可以包括类 (类似于java中classes)和简朴函数 例如:模块"dojo.html"包括了一系列函数,例如dojo.html.getContentBox(),模块"dojo.dnd"包括 了一系列HtmlDragObject类 注意名称商定,函数首字母为小写字母,类首字母为大写 模块也可以称之为"命名空间" 包 在多数状况下,dojo模块只需要定义在一种文献就可以了,但有时,一种模块也许划分到各种文献, 例如:模块dojo.html,本来是定义在一种文献中,可是由于功能增强,文献逐渐变大,咱们不得不 将其拆分为各种文献,这重要是为性能考虑,以便浏览器可以只下载其需要用到代码,不幸是其 实现细节对于dojo顾客看起来不那么透明,你必要懂得你想要用到功能究竟是包括在哪个文献, 然后才干require并使用它 这样每一种文献都称之为一种包 dojo.require("dojo.html.extras") 将引用文献 src/html/extras.js,这将定义模块 dojo.html 若干(并非所有)函数 据我所知,尽管单个文献可以定义包里各种类,单个脚本文献不能定义各种模块 (在Java可以等效于 在一种文献中定义2个类),并且,包名称和模块名称可以不同,例如:包dojo.widget.Button定义 了dojo.widget.html.Button 基本上你应当这样以为,包和模块尽管密切有关,但是是两个完全不同实体 为什么会有模块和包这样概念? 为什么会有模块和包这样概念?为了满足你应用程序只需要加载其所用到东西需求,充分运用 模块化设计长处,dojo维护了最小足印以便仍能提供你所需要功能,为什么要你顾客挥霍时间 去下载用不到JavaScript,当一种包就是一种js文献时,一种模块本质上就是一种命名空间,例如: dojo.style 或 dojo.html.extras 多数简朴状况下,一种包包括了一种模块,但更常用是,一种模块也许被拆分为几种包文献 运用包和模块,将能保证你可以交付最有关功能代码,最小限度减少代码膨胀和消除由此带来 不好顾客体验,这就是模块设计重要目的,通过模块化,你可以引入自定义模块(你自己拥有 JavaScript 工具),并且维护模块对于核心代码库基本不会产生什么影响 此外,Dojo模块系统也提供了内建机制来使用代码提供命名空间,例如,通过模块dojo.event定义 Dojo事件系统 如何引用 设立引用语句 你如何才干懂得该引用哪个包到dojo.require()? 1. 模块 一方面,拟定你要使用什么模块,这个例子咱们假定你要使用 dojo.lfx.html 2. 包 搜索代码后你发现dojo.lfx.html定义在2个文献: src/lfx/html.js src/lfx/extras.js 依照你要用到功能,你可以 dojo.require("dojo.lfx.html"); 或 dojo.require("dojo.lfx.html"); dojo.require("dojo.lfx.extras"); 通配符 新顾客也许会对dojo.lfx.*这样就可以代替上面2句而感到诧异,事实上,__package__.js 中已经定义 了通配符可以代替语句,并且这样可以让dojo依照当时环境而决定加载详细模块 ///////////////////////////////////////////////////////////////////////////////////////// Dojo学习笔记(2. djConfig解说) djConfig是dojo内置一种全局设立对象,其作用是可以通过其控制dojo行为 一方面咱们需要在引用dojo.js前声明djConfig对象,以便在加载dojo.js时候才可以获得所设立值, 虽然在0.3版本后来dojo支持在加载后设立,但是强烈建议你把声明djConfig代码作为第一段script 一种完整djConfig对象定义如下(值均为dojo默认值) <script type="text/javascript"> var djConfig = { isDebug:false, debugContainerId:"", bindEncoding:"", allowQueryConfig:false, baseScriptUri:"", parseWidgets:true searchIds:[], baseRelativePath:"", libraryScriptUri:"", iePreventClobber:false, ieClobberMinimal:true, preventBackButtonFix:true, }; </script> isDebug是一种很有用属性,顾名思义,如果设立为真,则所有dojo.Debug输出有效,开发时应当设立 为true,发布时应当设立为false debugContainerId同样也是与调试关于,如果不指定话,调试信息将会直接运用 document.write输出, 这样也许会破坏页面整体布局,因此你可以指定任何一种可以作为容器html元素id作为调试信息输 出容器 allowQueryConfig,这个属性指明 dojo与否容许从页面url参数中读取djConfig中有关属性,当值为 true时,dojo会优先从url参数中读取djConfig其她属性, 例如:http://server/dojoDemo.htm?djConfig.debugContainerId=divDebug baseScriptUri,普通不需要设立,dojo会自动依照你引用dojo.js途径设立这个值,例如, <script type="text/javascript" src="../dojo/dojo.js"></script>,自动获取值便是 ../dojo/ ps:如果你有各种工程需要同步引用dojo.js话,建议也把dojo当作一种独立工程,引用时候采用 绝对途径就可以了 parseWidgets,这个是可以控制dojo与否自动解析具备dojoTypehtml元素为相应widget,如果你没有 使用任何Widget,建议设立为false以加快dojo加载速度 searchIds,这是一种字符串数组,定义了所有需要解析为widgethtml元素ID,如果ID不在其中html 元素是不会被解析,当数组为空数组时,则所有具备dojoType元素都会被解析 尚有一种bindEncoding,是用来设立默认bind祈求编码方式 至于其他属性,不是用处不大,就是不懂得有什么作用 在实际开发中,可以把djConfig定义放在一种js文献里,并将其作为第一种引用js文献,这样应当是 最以便。 //////////////////////////////////////////////////////////////////////////////////////// Dojo学习笔记(3. Dojo基本对象和办法) 这里所说基本对象和办法是指不Require任何包就可以调用对象和办法 匿名函数 在开始前,我想简介一下js里匿名函数,这个在阅读dojo源代码时候,会发现处处均有匿名函数 ;(function(){ alert(123); })(); //前面分号是一种空语句,是可以不要 匿名函数。一种匿名函数就是一种没有名字函数。 你可以以为她们是一次性函数。当你只需要用一次某个函数时,她们就特别有用。通过使用匿名函数, 没有必要把函数始终放在内存中,因此使用匿名函数更加有效率。 固然你也可以主线不定义函数,但是使用匿名函数可以把你代码分段,就像C#中#region同样 dojo.byId 非常有用一种办法,与prototype.js知名$同样 似乎此前版本尚有dojo.byIdArray,但是最新版本已经找不到这个函数了(除了src\compat\0.2.2.js) 如果有各种元素具备指定id,则返回是一种集合 Usage Example: dojo.byId("divTest"); dojo.byId("divTest",document); dojo.byId(document.getElementById("divTest")); dojo.version dojo版本,可以获得major,minor,patch,flag和revision 这个对象没什么太大用处,除非你要依照dojo版本选取执行你代码 dojo.raise 抛出一种异常 dojo.errorToString 将异常转换为字符串 Usage Example: try { dojo.raise("打印失败",new Error("文献不存在")); } catch(e) { alert(dojo.errorToString(e)); } dojo.render 系统环境对象 dojo.render.name 返回 browser ,阐明是工作在浏览器下 dojo.render.ver 返回 4 ,似乎没什么用 dojo.os.win 返回true阐明操作系统是Windows dojo.os.linux 返回true阐明操作系统是Linux dojo.os.osx 返回true阐明操作系统是MacOS dojo.html.ie 返回true阐明浏览器是Internet Explorer dojo.html.opera 返回true阐明浏览器是Opera dojo.html.khtml 返回true阐明浏览器是Konqueror dojo.html.safari 返回true阐明浏览器是Safari dojo.html.moz 返回true阐明浏览器是Mozilla FireFox dojo.svg.capable 返回true阐明浏览器支持svg dojo.vml.capable 返回true阐明浏览器支持vml dojo.swf.capable 返回true阐明浏览器支持swf dojo.swt.capable 返回true阐明浏览器支持swt (IBM开发Standard Widget Toolkit) 如果dojo.html.ie为true话 dojo.html.ie50 返回true阐明浏览器是IE 5.0 dojo.html.ie55 返回true阐明浏览器是IE 5.5 dojo.html.ie60 返回true阐明浏览器是IE 6.0 dojo.html.ie70 返回true阐明浏览器是IE 7.0 dojo.addOnLoad 可以加载指定函数到window.load时执行,好处就是可以很以便在window.load时执行各种函数 Usage Example: dojo.addOnLoad(init);//init是一种函数 dojo.addOnLoad(myObject,init);//init是myObject对象一种办法 dojo.require 如果你想调用一种模块对象时候,你应当一方面用dojo.require来祈求这个模块,dojo会依照你 祈求自动获得相应js文献,并加载到内存中,这样你才干调用或创立其中对象 dojo会自动维护已加载模块列表,因此是不会重复加载模块 Usage Example: dojo.require("dojo.event"); dojo.requireIf=dojo.requireAfterIf 可以依照指定条件来决定与否加载指定模块 Usage Example: dojo.requireIf(dojo.html.ie,"dojo.html");//如果dojo.html.ie为true,才会加载dojo.html模块 dojo.provide 除非你要开发自己模块,否则是用不到这个办法,你可以这句当作是向系统注册这个模块名称 Usage Example: dojo.provide("dojo.custom"); dojo.exists 判断指定对象与否具备指定名称办法 Usage Example: dojo.exists(dojo,"exists");//will return true dojo.hostenv.getText 返回指定url内容 PS:由于浏览器安全限制,因而只能用于获得同域名url内容,否则会报告权限不够 Usage Example: aSync = false;//同步,保证返回内容不为null silent = true;//不抛出错误 s = dojo.hostenv.getText("",aSync,silent);//返回Google首页HTML alert(s); dojo.debug 输出调试信息,如果在djConfig中指定了debugContainerId,则输出到指定console容器中,否则 直接document.write 所有调试信息均以 DEBUG:开头 Usage Example: dojo.debug("这是调试信息"); dojo.hostenv.println 与dojo.debug类似,不同是,输出内容没有 DEBUG: Usage Example: dojo.hostenv.println("这是普通输出信息"); dojo.debugShallow 输出指定对象所有信息(Shallow阐明并不会遍历到下一级别对象属性)以供调试 Usage Example: dojo.debugShallow(dojo.render.html); ////////////////////////////////////////////////////////////////////////////////////////// Dojo学习笔记(4. dojo.string & dojo.lang) 模块:mon / dojo.string mon 和 dojo.string 是同样,只要require其中一种就可以使用如下办法 dojo.string.trim 去掉字符串空白 Usage Example: s = " abc ";dojo.string.trim(s);//will return "abc"dojo.string.trim(s,0); //will return "abc"dojo.string.trim(s,1);//will return "abc "dojo.string.trim(s,-1); //will return " abc" dojo.string.trimStart 去掉字符串开头空白 Usage Example: s = " abc ";dojo.string.trimStart(s);//will return "abc " dojo.string.trimEnd 去掉字符串结尾空白 Usage Example: s = " abc ";dojo.string.trimEnd(s);//will return " abc" dojo.string.repeat 生成由同一字符(串)重复构成字符串 Usage Example: dojo.string.repeat("a",4);//will return "aaaa"dojo.string.repeat("1234",3,"-"); //will return "1234-1234-1234" dojo.string.pad 使用字符补齐字符串 Usage Example: dojo.string.pad("100",6);//will return "000100"dojo.string.pad("100",6,"0",1); //will return "000100"dojo.string.pad("100",6,"0",-1);//will return "100000" dojo.string.padLeft 使用字符补齐字符串开头 Usage Example: dojo.string.padLeft("100",6);//will return "000100" dojo.string.padRight 使用字符补齐字符串结尾 Usage Example: dojo.string.padRight("100",6);//will return "100000" 模块:mon / dojo.lang mon 和 dojo.lang 是同样,只要require其中一种就可以使用如下办法 dojo.lang.mixin 将一种对象办法和属性增长到另一种对象上 Usage Example: var s1 = {name:"TestObj",test1:function(){alert("this is test1!");}} var s2 = {value:1000,test2:function(){alert("this is test2!");}} var d = {};dojo.lang.mixin(d,s1,s2); //执行后d就具备了s1和s2所有属性和办法d.test1(); dojo.lang.extend 为指定类原型扩展办法与属性 Usage Example: TestClass = function() {}; dojo.lang.extend(TestClass,{name:"demo",test:function(){alert("Test!");}}); var o = new TestClass(); //TestClass本来是没有test办法,但是extend后来就有test办法了o.test(); dojo.lang.find=dojo.lang.indexOf 查找指定对象在指定数组中位置 Usage Example: var arr = [1,2,3,3,2,1];dojo.lang.find(arr,2); //will return 1dojo.lang.find(arr,2,true); //will return 1dojo.lang.find(arr,"2",true); //will return -1dojo.lang.find(arr,"2",false); //will return 1dojo.lang.find(arr,2,true,true); //will return 4 dojo.lang.findLast=dojo.lang.lastIndexOf 查找指定对象在指定数组中位置,从后往前查 Usage Example: var arr = [1,2,3,3,2,1];dojo.lang.findLast(arr,2); //will return 4dojo.lang.findLast(arr,2,true); //will return 4dojo.lang.findLast(arr,"2",true); //will return -1dojo.lang.findLast(arr,"2",false); //will return 4 dojo.lang.inArray 查找指定对象与否在指定数组中 Usage Example: var arr = [1,2,3];dojo.lang.inArray(arr,1); //will return truedojo.lang.inArray(arr,4); //will return false dojo.lang.isObject 判断输入类型与否为对象 Usage Example: dojo.lang.isObject(new String()); //will return truedojo.lang.isObject("123")); //will return false dojo.lang.isArray 判断输入类型与否为数组 Usage Example: dojo.lang.isArray({a:1,b:2}); //will return falsedojo.lang.isArray([1,2,3]); //will return true dojo.lang.isFunction 判断输入类型与否为函数 Usage Example: dojo.lang.isFunction(function() {}); //will return true dojo.lang.isString 判断输入类型与否为字符串 Usage Example: dojo.lang.isString(""); //will return truedojo.lang.isString(0); //will return false dojo.lang.isAlien 判断输入类型与否为系统函数 Usage Example: dojo.lang.isAlien(isNaN);//will return true dojo.lang.isBoolean 判断输入类型与否为布尔类型 Usage Example: dojo.lang.isBoolean(2>1);//will return true dojo.lang.isNumber 判断输入类型与否为数值,依照注释所说,此函数使用不太可靠,但是可替代使用系统函数isNaN 也不太可靠 dojo.lang.isUndefined 判断输入与否为未定义,依照注释所说,此函数有也许会导致抛出异常,推荐使用 typeof foo == "undefined" 来判断 模块:dojo.lang.extras dojo.lang.setTimeout 延迟指定期间后执行指定办法 Usage Example: function onTime(msg){dojo.debug(msg)}dojo.lang.setTimeout(onTime,1000,"test"); //1秒后会输出调试信息"test"dojo.lang.setTimeout(dojo,"debug",1000,"test"); //1秒后会输出调试信息"test" dojo.lang.getNameInObj 获得指定项目在指定对象中名称 Usage Example: dojo.lang.getNameInObj(dojo,dojo.debug);//will return "debug" dojo.lang.shallowCopy 返回指定对象浅表复制副本 Usage Example: dojo.lang.shallowCopy({});//will return a 空对象 dojo.lang.firstValued 返回第一种存在定义参数 Usage Example: var a;dojo.lang.firstValued(a,2,3);//will return 2 ///////////////////////////////////////////////////////////////////////////////////////////// Dojo学习笔记(5. dojo.lang.array & dojo.lang.func & dojo.string.extras) 模块:dojo.lang.array dojo.lang.has 判断对象与否具备指定属性,但是这个办法有用吗,不如直接使用 if(name in obj) Usage Example: dojo.lang.has(dojo.lang,"has");//will return true dojo.lang.isEmpty 判断对象或数组与否为空 Usage Example: dojo.lang.isEmpty({a:1});//will return false dojo.lang.isEmpty([]);//will return true dojo.lang.map 调用指定办法解决指定数组或字符串 Usage Example: dojo.lang.map([1,2,3,4,5],function(x) { return x * x;}); //will return [1,4,9,16,25] dojo.lang.forEach 遍历指定数组或字符串,并对其中元素调用指定办法 Usage Example: dojo.lang.forEach("abc",function(x) { alert(x);}); dojo.lang.every 检查指定数组与否所有满足指定办法条件 Usage Example: dojo.lang.every([1,-2,3],function(x) { return x > 0;}); //指定数组不是全不不大于0,因而返回false dojo.lang.some 检查指定数组与否某些满足指定办法条件 Usage Example: dojo.lang.some([1,-2,3],function(x) { return x > 0;}); //指定数组有不不大于0元素,因而返回true dojo.lang.filter 依照指定办法来过滤指定数组 Usage Example: dojo.lang.filter([1,-2,3],function(x) { return x > 0;});//will return [1,3] dojo.lang.unnest 把指定参数或数组转换为一维数组 Usage Example: dojo.lang.unnest(1,2,3);//will return [1,2,3] dojo.lang.unnest(1,[2,[3],[{4}]]);//will return [1,2,3,4] dojo.lang.toArray 将输入转换为数组 Usage Example: function test() { return dojo.lang.toArray(arguments,1); } test(1,2,3,4,5);//will return [2,3,4,5] 模块:dojo.lang.func dojo.lang.hitch 将指定办法挂在指定对象下并返回该办法 Usage Example: func = {test:function(s) {alert(s)}}; dojo.lang.mixin(func,{demo:dojo.lang.hitch(func,"test")}); func.demo("demo and test are same method"); dojo.lang.forward 返回自身对象指定名称办法引用 Usage Example: func = {test:function(s) {alert(s)},demo:dojo.lang.forward("test")}; func.demo("demo and test are same method"); dojo.lang.curry What is curry?请参阅这篇文章: Usage Example: function add(a,b) { return a + b; } dojo.lang.curry(null,add,2,3);//will return 5 dojo.lang.curry(null,add,2)(3);//will return 5 dojo.lang.curry(null,add)(2)(3);//will return 5 dojo.lang.curry(null,add)()(2)(3);//will return 5 dojo.lang.curryArguments 与dojo.lang.curry类似,但是可以选取忽视掉前n个参数 Usage Example: function add(a,b) { return a + b; } dojo.lang.curryArguments(null,add,[1,2,3,4,5],2);//will return 5 (= 2 + 3) dojo.lang.tryThese 测试参数指定所有函数,并返回第一种返回值不为0函数值 from seno: dojo.lang.tryThese办法和prototype中Try.these()办法是同样, xmlNode.text在某些浏览器中好用,但是xmlNode.textContent在另某些浏览器中正常工作。 使用Try.these()办法咱们可以得到正常工作那个办法返回值。 <script> function getXmlNodeValue(xmlNode){ return Try.these( function() {return xmlNode.text;}, function() {return xmlNode.textContent;) }; } dojo.lang.delayThese function(/*Array*/farr,/*Function,optional*/cb,/*Integer*/delay,/*Function,optional*/onend) 依照delay指定延迟,依次调用farr里面办法,如果指定了cb,则调用完办法后调用cb。当farr中所有办法都调用了之后,调用onend。 模块:dojo.string.extras dojo.string.substituteParams 类似C#中String.Format函数 %{name}要保证与传入对象名称大小写一致,否则会出异常 Usage Example: dojo.string.substituteParams("%{0} - %{1} - %{2}","a","b","c"); //will return "a - b - c" dojo.string.substituteParams("%{name}:%{value}",{name:"名称",value:"值"}); //will return "名称:值" dojo.string.capitalize 把每一种单词首字母大写 Usage Example: dojo.string.capitalize("show me love");//will return "Show Me Love" dojo.string.isBlank 判断输入字符串与否为空或全是空白字符,如果传入对象为非字符串则也会返回true Usage Example: dojo.string.isBlank(" 1 ");//will return false dojo.string.escape 参数1为type,可传值为:xml/html/xhtml,sql,regexp/regex,javascript/jscript/js,ascii 将按照所传type对字符串进行编码 Usage Example: dojo.string.escape("html","<input type='text' value='' />");//will return "<input type='text' value='' />" dojo.string.encodeAscii dojo.string.escapeXml dojo.str- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dojo 学习 重点 笔记 专业 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文