工作和学习中会使用到很多Object的方法, 能够熟练掌握ObjectApi 很有必要.
参数说明:
-
target: 目标对象
-
source: 被合并对象 可以传一个或者多个
注: 如果属性的键名称相同 后面的被合并对象的值会覆盖前面的. assign只会修改目标对象
关于复制过来是深浅克隆的问题:
详细请见早段时间写的另一篇文章
详细说明Object.definedProperty() 方法
参数说明:
-
proto: 新创建对象的原型对象
-
propertiesObject: 可选 定义该对象属性的值 以及 是否可被枚举 修改 删除等(详情可参照 definedProperty文章中的第三个参数)
-
使用Object.create创建一个简单的对象 操作其属性和方法
-
使用Object.create的第二个参数, 指定属性的详细配置
如果需要将Object转为Map结构 object.entries()用起来就十分方便了
注:
Object.isFrozen() 可以判断该对象是否被冻结 Object.freeze()可对比下面的Object.seal()
注:
Object.isSealed() 可以判断该对象是否被密封 而且当一个对象被冻结 Js为认为他是被密封的
相反一个密封的对象 是不会被判定为冻结的 这很好理解 因为冻结包含了密封的所有操作 而密封的值可以被修改
属性描述符包括:
-
value: 属性的值,默认为undefined
-
writable:该属性是否可写,如果直接在对象上定义属性,则默认为true。
-
enumerable:是否能够被枚举,如果直接在对象上定义属性,则默认为true
-
configurable: 属性的可配置性, 即是否可修改(writabel,configurable,enumerable),如果直接在对象上定义属性,则默认为true
-
get:当对象访问prop属性的时候,会调用这个方法,并返回结果。默认为undefined
-
set:当对象设置该属性的时候,会调用这个方法,默认为undefined
Object.getOwnPropertyDescriptors() 则可以用来或者对象上所有属性的属性描述符
说到这两个方法 不得不说一下 getOwnPropertyNames()、Object.keys()、for … in这三者的区别了
-
getOwnPropertyNames(): 列举自身所有属性名称(包括可枚举不可枚举) 不会列举原型链上的属性
-
Object.keys(): 列举自身所有可枚举属性名称 不会列举原型链上的属性
-
for … in: 列举自身包括原型链上的说有可枚举属性
具体见如下代码
注: Object.preventExtensions,Object.seal 或 Object.freeze 方法都可以标记一个对象为不可扩展
注:
与 === 运算符不同 Object.is() 将 +0 和 -0判为false 将 NaN 和 NaN判断为相等
注: 可以与Object.keys() 联系起来 一个是返回所有可枚举属性的键 一个是返回所有可枚举属性的值
工作和学习中会使用到很多Object的方法, 能够熟练掌握ObjectApi 很有必要.Object.assign(target, source1, source2…): 用于将一个或多个对象的可枚举属性 (对象属性是否可以在 for…in循环和 Object.keys()中被枚举) 的值合并到目标对象.参数说明:target: 目标对象source: 被合并对象 可以传一个或者多个注: 如果属性的键名称相同 后面的被合并对象的值会覆盖前面的. assign只会修改目标对象关于复制过来是深
Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的
js
库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆
js
来调用命令了,只需定义id即可。
找到你了!
Jquery
对象
代替body标签的onload
同一函数实现get\set
plugin
1、新的事件.on() .off()
3、动画的改进
1.42版介绍
JQuery插件
让Dreamweaver支持提示代码功能
引入JQuery简介
找到你了!
Jquery
对象
代替body标签的onload
同一函数实现get\set
plugin历史版本1、新的事件.on() .off()3、动画的改进1.42版介绍JQuery插件让Dreamweaver支持提示代码功能引入JQuery展开编辑本段简介
jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多
javascript
高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。 由于目前高校基本尚未开
JavaScript
的相关课程,目前jQuery的学习,使用,研究都仅限于在职Web程序员之间。 用jq的前提,首先要引用一个有jq的文件 [removed][removed] 这个是jquery官方最新的地址。可用在自己网站里加个这个,就能使用jquery了。 但仍然建议下载到本地服务器上。
编辑本段找到你了!
在编写
js
库代码时候,你一定经常和“$”美元符号打交道吧?无论prototype还是DWR都使用了$代替频繁的document.getElementById()操作。jQuery也这样做了,但是,它的功能远非如此,瞧瞧以下的jQuery代码,你就会发现它的美丽: 代码 var someElement = $("#myId"); 看起来比其他两个框架的要多了一个#,好,看看下面的用法: 代码 $("div p"); // (1) $("div.container"); // (2) $("div #msg"); // (3) $("table a",context); // (4) 在prototype里看过这样的写法吗?第一行代码得到所有div标签下的p元素。第二行代码得到class 为container的div元素,第三行代码得到标签下面id为msg的div元素(不过最好别这样写,因为jQuery需要遍历所有的div元素,对于带id的元素,直接用$("#id"))。第四行代码得到context为上下文的table里面所有的链接元素。 如果你熟悉CSS,你会觉得这些写法很眼熟!对了。正是。看出奥妙了吧。jQuery就是如此强大,你可以轻易地找到DOM中的任何元素,而这也是jQuery设计之初query的真实含义(查询)。
编辑本段Jquery
对象
jquery提供了很多便利的函数,如each(fn),但是使用这些函数的前提是:你使用的
对象
是Jquery
对象
。使一个Dom
对象
成为一个Jquery
对象
很简单,通过下面一些方式(只是一部分): 代码 var a = $("#cid"); var b = $("<p>hello</p>"); var c = document.createElement("table"); var tb = $(c);
编辑本段代替body标签的onload
这个惯例,也许是除了$()之外,用得最多的地方了。下面一段代码: 代码 $(document).ready(function(){ alert("hello"); });(1) <body>(2) <body>这里的alert('hello');要等到页面全部加载完毕才执行,注意是全部加载,包括dom,图片等其它资源。 而$(document).ready(function(){ alert("hello"); });(1) 当dom加载完就可以执行了。 代码1同时做到表现和逻辑分离。并且可以在不同的
js
文件中做相同的操作,即$(document).ready (fn)可以在一个页面中重复出现,而不会冲突。基本上Jquery的很多plugin都是利用这个特性,正因为这个特性,多个plugin共同使用起来,在初始化时不会发生冲突。 当使用jquery时,推荐使用代码1。
编辑本段事件机制
我们大量使用的事件可能就是button的onclick了。以前习惯在input 元素上写onclick = "fn()",使用jquery可以使javascrīpt代码与html代码分离,保持HTML的清洁,还可以很轻松地绑定事件,甚至你可以不知道“事件”这个名词。 代码 $(document).ready(function() { $("#clear").click(function(){ alert("i am about to clear the table"); }); $("form[12]").submit(validate); }); function validate(){ //do some form validation }
编辑本段同一函数实现get\set
代码 $("selector").load(url,data,function(response,status,xhr)) 该
方法
是最简单的从服务器获取数据的
方法
。它几乎与 $.get(url, data, success) 等价,不同的是它不是全局函数,并且它拥有隐式的回调函数。当侦测到成功的响应时(比如,当 textStatus 为 "success" 或 "notmodified" 时),.load() 将匹配元素的 HTML 内容设置为返回的数据。这意味着该
方法
的大多数使用会非常简单。
编辑本段ajax
这是一个ajax横行的时代。多少人,了不了解ajax的都跟着用上一把。呵。使用jquery实现ajax同样异常简单 代码 (1) $.get("search. do",{id:1},rend); function rend(xml){ alert(xml); } (2) $.post("search. do",{id:1},rend); function rend(xml){ alert(xml); } (3) $("#msg").ajaxStart(function(){ this.html("正在加载。。。。"); }); (4) $("#msg").ajaxSuccess(function(){ this.html("加载完成!"); }); 这些都是较
常用
的
方法
,get和post用法一样。第一个参数是异步请求的url,第二个为参数,第三个回调
方法
。 (4)的
方法
会在指定的Dom
对象
上绑定响应ajax执行的事件。 (5)同步加载数据。发送请求时锁住浏览器。需要锁定用户交互操作时使用同步方式。 var html = $.ajax({ url: "some.php", async: false }).responseText; (6) 保存数据到服务器,成功时显示信息。 $.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } });
编辑本段渐入淡出
代码 $("#msg").show("fast"); $("#msg").hide("slow"); $("#msg").fadeIn(); $("#msg").fadeOut(); 没错,上面两行代码已经分别实现了一个id为Msg的jquery
对象
的渐入和淡出。做一个像Gmail一样的动态加载通知条,用jquery就那么简单。两个函数接受的参数除了快慢等,还可以接收整型,作为渐入或淡出的完成时间,单位为MS。
编辑本段plugin
这也是一个插件的时代。 jquery插件给我的感觉清一色的清洁,简单。如Jtip,要使用它的功能,只需要在你的元素的class上加上Jtip,并引入jtip.
js
及其样式即可以了。其他事情插件全包。我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件。 写得很烂。可能大家看不出jquery的好处。嗯,光听是没用的,试用一下吧。你会发觉很有趣。 暂时告一段落吧。待有新的发现再来分享。 加一些Jquery的资源: http://www.visualjquery. com/index.xml 很好的
API
查询站点 http://jquery. com/demo/thickbox/ 知道lightBox吧,看看Jquery是怎样实现相同的东西 http://jquery. org. cn/visual/cn/index.xml //不错的JQUERY 中文学习 推荐 微软的visual studio 2008 sp1支持对jquery的动态提示,只要在代码页导入对应的vsdoc脚本就可以。 目前为止,jQuery的最新版本为1.7.2。
编辑本段历史版本
jQuery 1.0(2006年8月):该库的第一个稳定版本,已经具有了对CSS选择符、事件处理和AJAX交互的稳健支持。 jQuery 1.1(2007年1月):这一版大幅简化了
API
。许多较少使用的
方法
被合并,减少了需要掌握和解释的
方法
数量。 jQuery 1.1.3(2007年7月):这次小版本变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类
JavaScript
库的水平。 jQuery 1.2(2007年9月):这一版去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够支持对效果的更灵活定制,而且借助新增的命名空间事件,也使插件开发变得更容易。 jQuery UI(2007年9月):这个新的插件套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放的界面元素)的工具。 jQuery 1.2.6(2008年5月):这一版主要是将Brandon Aaron开发的流行的Dimensions插件的功能移植到了核心库中。 jQuery 1.3(2009年1月):这一版使用了全新的选择符引擎Sizzle,库的性能也因此有了极大提升。这一版正式支持事件委托特性。 jQuery 1.3.2(2009年2月):这次小版本升级进一步提升了库的性能,例如改进了:visible/:hidden选择符、.height()/.width()
方法
的底层处理机制。另外,也支持查询的元素按文档顺序返回。 jQuery 1.4(2010年1月14号对)代码库进行了内部重写组织,开始建立一些风格规范。老的core.
js
文件被分为attribute.
js
, css.
js
, data.
js
, manipulation.
js
, traversing.
js
和queue.
js
;CSS和attribute的逻辑分离。 jQuery 1.5(2011年1月31日):该版本修复了83个bug,解决了460个问题。重大改进有:重写了Ajax模块;新增延缓对像(Deferred
Object
s);jQuery替身——jQuery.sub();增强了遍历相邻节点的性能;jQuery开发团队构建系统的改进。 1.4重要新特性: ·
常用
方法
的性能大幅提升:重写了大部分较早期的函数; ·更容易使用的设置函数(setter function):为所有
对象
新增了许多易用的设置函数; ·对Ajax的改进:引入了许多Ajax和
JS
ON处理方面的更新,包括HTML5元素的序列化; ·attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进 1.5 美国时间1月31日John Resig在jQuery官方博客发表文章,宣布jQuery 1.5正式版已经如期开发完成,可以下载使用。压缩版本jQuery Minified29KB,不压缩版本jQuery Regular(用于阅读和调试)207KB。由于jQuery已经成为目前最流行的
JavaScript
库,得到广泛的支持,新版本的发布当然非常引人注目。 重要变化: 1. Ajax重写Ajax模块完全进行了重写。新增一个jXHR
对象
,为不同浏览器内置的XMLHttpRequest提供了一致的超集。对于XMLHttpRequest之外的传输机制,比如
JS
ONP请求,jXHR
对象
也可以进行处理。(详情可以参见:jQuery.ajax文档) 此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。 2. 延迟
对象
延迟
对象
(Deferred
Object
,jQuery.Deferred
对象
)是一个可链接的(chainable)实用工具
对象
,实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。正如Using Deferreds in jQuery 1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。这一点在
JavaScript
中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。由于jQuery 1.5的Ajax模块内置使用了延迟
对象
,因此现在通过jQuery编写Ajax程序将自动获得这一功能。 开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。 例如,使用了新的jQuery内部Ajax
API
就可以实现下面的代码了: // Assign handlers immediately after making the request, // and remember the jxhr
object
for this request var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert("second complete"); }); 此外,使用jQuery.Deferred还可以开发自己的延迟
对象
。更多详情参见:延迟
对象
文档。 3. jQuery.sub() jQuery 1.5提供了一种创建和修改jQuery副本的方式。可以用来添加不向外部公开的
方法
,或者对jQuery的某些
方法
进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。 值得注意的是,sub函数并不提供真正的隔离,所有
方法
、数据、调用仍然依靠jQuery本身来支持。 4. 遍历性能提高 在新版本中.children(), .pre(), .next()几个
常用
的遍历函数性能有了显著提高。 5. 内部开发系统 John Resig还特别提到了jQuery团队内部开发系统的两点改变:一是服务器端用Node.
js
替换了老的Java/Rhino系统,使得团队可以专注于
JavaScript
环境的新变化;二是所用的代码优化程序从Google Closure切换到Uglify
JS
,新工具的压缩效果非常令人满意。 有意思的是,此前Uglify
JS
开发者曾经公布过自己的测试结果,表明对jQuery的压缩结果Uglify
JS
要比Closure略大(都在72KB左右),但运行速度快得多,而且Closure不太安全。看来,这段时间Uglify
JS
的进展也很快啊。 jQuery 1.5.2 在1.5的基础上修正的大量的bug 1,7b 2011年09月29日jQuery 1.7 的第一个 beta 测试版本,该版本修复了超过 50 个的问题以及带来一些新特性。 2011年11月-04日jQuery1.7正式版发布。 新版本包含了很多新的特征,特别提升了事件委派时的性能尤其是在IE7下。 新增及改进项: 1. 新的事件
API
s: .on() and .off(); 2. 提升了事件委派时的性能有了大幅度的提升,尤其是在IE7下; 3. 更好的在 IE 6/7/8 上支持 HTML5; 4. 切换动画更加直观; 5. 匿名模块定义 AWD 6. jQuery.Deferred 7. jQuery.isNumeric() 被删除的
方法
: event.layerX and event.layerY jQuery.isNaN() 2012年03月24日jQuery 1.7.2正式版发布。 该版本在1.7.1的基础上修复了大量的bug,并改进了部分功能。而相比于1.7.2 RC1,只修复了一个bug。值得注意的是:如果你正在使用jQuery Mobile,请使用最新的jQuery 1.7.2和jQuery Mobile 1.1这两个版本,因为之前的jQuery Mobile版本还基于jQuery core 1.7.1或更早的版本。
编辑本段1、新的事件.on() .off()
旧的
API
(jQuery 1.7之前) 新的
API
(jQuery 1.7)
$(elems).bind(events, fn) $(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn) $(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn) $(elems).off(events, fn)
$(elems).delegate(events, selector, fn) $(elems).on(events, selector, fn)
$(elems).undelegate(events, selector, fn) $(elems).off(events, selector, fn)
$(selector).live(events, fn) $(document).on(events, selector, fn)
$(selector).die(events, fn) $(document).off(events, selector, fn)
编辑本段3、动画的改进
在jQuery 1.7版之前,如果你在完成前停止动画,它可以创建的情况下被动画的元素永远不会返回到其全尺寸,它基本上停留在高度,这是停止动画时。 我们记住的原始尺寸固定,动画开始之前,让他们以后可以使用。 这消除了一大烦恼,尤其是在使用一定的动画切换的。
编辑本段1.42版介绍
jQuer1.4.2版本修复了1.4版本的一些错误和优化了一些不错的改进,速度比1.4.1版本又提升
了一倍,该版本对性能做了一些改进,同时增加了一些
api
( .delegate() and .undelegate(). ),右图是JQuery各个版本的性能比较: jquery1.42新特性: 加了两个新
方法
:.delegate() 和.undelegate(). 是对.live() and .die() 的补充. 这两个
方法
对特定的事件的起到简化。 范例: $("table").delegate("td", "hover", function(){ $(this).toggleClass("hover"); }); 等于使用 .live(): $("table").each(function(){ $("td", this).live("hover", function(){ $(this).toggleClass("hover"); }); }); 另外,以下代码中,.live() 基本上等同于 .delegate(). $(document).delegate("td", "hover", function(){ $(this).toggleClass("hover"); }); 变更 大量代码进行了重写, 提升了性能及修正了一些长期存在的问题。 提升性能 每次开发新的jquery版本,我们都努力去持续优化性能,以保证你能用到最高性能的
javascript
代码。 在Taskspeed benchmark 的测试中,1.4.2比1.4.1快1倍,比1.3.2快2倍。 主要是在下面4个方面进行了提升: .bind() 和 .unbind(). .empty(), .remove(), 和 .html(). 插入单个DOM 节点到 document. $("body") 在测试用例中,比较多的用到了 $("body"), .bind(), .unbind()
方法
,因此测试结果提升比较明显。 v重写事件 event handlers 不再作为一个
对象
属性保存在 jQuery的内部
对象
里。现在是保存在一个内部的
对象
数组里。v 现在可以通过调用.data("events") , 将会返回一个
对象
包含的所有事件类型。 现在可以使用不同的数据、命名空间、事件类型绑定在同一个handler 在一个handler清除自己之后,事件handler会继续执行 不用关联数据或者命名空间到事件handler 不用再使用代理
方法
事件执行的顺序在所有浏览器中得到保证,Google Chrome 中出现的
对象
循环逻辑问题已经得到解决.
编辑本段JQuery插件
【基础】 a)样式 很 多人会认为样式是个很复杂的东西,需要沉着冷静的心态加上非凡的审美观才能设计出赏心悦目的UI,抛开图片设计不说,其实css也就是那么些属 性:position,margin,padding,width,height,left,top,float,border,background… UI设计的漂亮与否在很大程度上依赖于设计人员对配色的把握和整体效果的协调。 b)脚本 我们同样需要对
javascript
有着深刻的理解,对dom, xhr, Regex, call-apply, prototype等都应该有一定的了解。 有人会说要这些有啥用啊,对dom的操作其实通过getElementById, getElementsByTagName以及其他的
API
都可以轻松的完成,这话是没错,当思路确定后,思想才是重点,一段代码是精华还是糟粕很容易就 可以区分出来,究其原因还是取决你自己 【实践】 jQuery开发或使用,更多的灵感是来自实践,而不是copy||paste(奉行拿来主义的同学可以离开了)。 那么在这里我会用一个简单的例子来阐述jQuery插件开发的流程,能否举一反三就看各位看官了。 【目的】 开发一个插件之前我们需要对自己的目的有一个清醒的认识,有很明确的方向感,那么此次我作为示例插件的目的,就是呈现一个用于UI的Slider – 滑动条,常年从事于或暂时专注于win32开发的同学应该比较了解。 【草图】 真正动手编码之前我们还需要有一个草图来描述自己插件的“长相”(事件驱动或
API
封装的可以忽略)。 很多的同学在做UI开发前往往会忙于搜集各种小图片(非精通ps或iconworkshop人士),其实漂亮的图标的确可以美化我们的UI,不过我一般的处理方式是编写易于扩展的css,前期的UI呈现尽量少使用图片,多用线条完成。 【编码】 开发jQuery UI/Effect 插件在很多时候都需要与UI交互,因此在呈现上需要提供Html tree来绘制我们的插件,最终通过
js
dom来输出,那么在绘制简单的dom结构的时候我会直接用
js
来完成,不过如果嵌套比较复杂的话,我们还是应该先用html来完成,然后转变成
js
输 出。 【扩展】 有的时候用户却不是那么容易满足,于是有人高呼:“我要自己设置value,为什么不提供这个功能?”。 那么这时我们就需要为用户公开一个
方法
,用于设置
jS
lider的value,首先考虑的是作为
方法
需要一个作用
对象
(
jS
lider),那么此时我又不 想将作用
对象
作为参数传入,那么我们还是将这个
方法
作为插件来开发,我们将
方法
命名为setSliderValue,开放2个参数,v(value值)和 callback(设置完成后的回调函数)。 【插件】 其实网上已经有成百上千种插件了,应该可以满足大家的需求了。 【小结】 通篇到这里就结束了,简单的介绍了一款jQuery插件的开发流程,以及开发中应该注意的细节,那么在下一篇的文章中我会向大家介绍如何打造一个通用型的 自动完成 插件。
编辑本段让Dreamweaver支持提示代码功能
要让Dreamweaver支持jQuery自动提示代码功能,
方法
很简单,下载一个插件—jQuery_
API
.mxp,以及cs4的jQuery语法提示插件 (详细步骤见参考资料 [1])。 在Dreamweaver里依次选择“命令” -> “扩展管理” -> “安装扩展” -> …,就会自动安装了。 成功后重启Dreamweaver,就大功告成了。
编辑本段引入JQuery
在head标签内加入这个 [removed][removed] 这里的src是你的jQuery库文件的位置,可以到jquery官网下载。 这样就引入了jquery,就可以使用了。在代码中,遇到$一般就表示用了jquery。为什么要说一般呢?因为除了jquery,
javascript
还有一个库,用的也是$符(property库)。 jquery也给出了在遇到这种情况的解决办法,所以jquery是个很强大、开放、友好的
js
库。 下面举例: [removed] $(document).ready(function(){ //write your code here }) [removed] 上面代码中$(document).ready(function()中的$就是jquery的简写,可以用jquery代替。这个ready函数是在DOM就绪后发生,他比传统的
javascript
方法
更合理。 jquery在选取节点方面非常强大,jquery有一系列的选择器可供使用,非常简洁、高效。 基本选择器(3种): $("标签名"),如$("p")是选取了所有的p标签节点 $("#id名"),如$("#test")是选取了id为test的标签节点 $(".class名"),如$(".test")是选取了所有class为test的标签节点 上面的$("标签名")和$(".class名")返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等。 当然,jquery还有很多选择器
D3plus模块中使用的
常用
功能和
方法
。
如果使用NPM,则npm install d3plus-common 。 否则,请下载。 您也可以将d3plus-common作为独立库或一部分进行。 支持ES模块,AMD,Common
JS
和普通环境。 在香草中,将导出d3plus全局d3plus :
< script src =" https://cdn.
js
delivr.net/npm/d3plus-common@1 " > </ script >
< script >
console . log ( d3plus ) ;
</ script >
API
参考
一个抽象类,其中包含一些全局
方法
和功能。
-在简单的访问器函数中包装
对象
键。
-的深刻递归版本
Object
.assign 。
-将
对象
中的每个键/值都应用为属性。
-查找数组中最接近的数值。
一、概念简介
JS
ON(
JavaScript
Object
Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,
JS
ON是
JavaScript
原生格式,这意味着在
JavaScript
中处理
JS
ON数据不须要任何特殊的
API
或工具包。
在
JS
ON中,有两种结构:
对象
和数组。
1.
对象
var pack
Js
on = {“name”:”Liza”, “password”:”123″};
一个
对象
以“{”开始,“}”结束,“key/value”之间运用 “,”分隔。
var pack
Js
on = [{“name”:”L
工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是
JS
ON,所以这里把
常用
的
JS
操作
JS
ON的
方法
做了总结~~
一、概要简介
JS
ON(
JavaScript
Object
Notation) 是一种轻量级的数据交换格式,同时,
JS
ON是
JavaScript
原生格式,这意味着在
JavaScript
中处理
JS
ON数据不须要任何特殊的
API
或工具包。
在
JS
ON中,有两种结构:
对象
和数组
1、
对象
以“{”开始,“}”结束,“key/value”之间运用 “,”分隔。
2、数组以“[”开始,“]”结束。值之间运用 “,”分隔。
二、
JS
ON
对象
和
JS
ON字符串的
第 1 章
JavaScript
是什么...............................................1 3
1.1 历史简述..............................................1
1.2
JavaScript
实现..............................................2
1.2.1 ECMAScript
1.2.2 DOM..............................................5
1.2.3 BOM..............................................8
1.3 小结..............................................8
第 2 章 ECMAScript 基础...............................................9
2.1 语法..............................................9
2.2 变量..............................................10
2.3 关键字..............................................12
2.4 保留字..............................................12
2.5 原始值和引用值..............................................13
2.6 原始类型..............................................13
2.6.1 typeof 运算符..............................................14
2.6.2 Undefined 类型..............................................14
2.6.3 Null 类型..............................................15
2.6.4 Boolean 类型..............................................15
2.6.5 Number 类型..............................................15
2.6.6 String 类型..............................................17
2.7 转换..............................................18
2.7.1 转换成字符串..............................................18
2.7.2 转换成数字..............................................19
2.7.3 强制类型转换..............................................20
2.8 引用类型..............................................22
2.8.1
Object
类..............................................22
2.8.2 Boolean 类..............................................23
2.8.3 Number 类..............................................23
2.8.4 String 类..............................................24
2.8.5 instanceof 运算符..............................................28
2.9 运算符..............................................28
2.9.1 一元运算符..............................................28
2.9.2 位运算符..............................................32
2.9.3 Boolean 运算符..............................................37
2.9.4 乘性运算符..............................................40
2.9.5 加性运算符..............................................41
2.9.6 关系运算符..............................................42
2.9.7 等性运算符..............................................43
2.9.8 条件运算符..............................................45
2.9.9 赋值运算符..............................................45
2.9.10 逗号运算符..............................................46
2.10 语句..............................................46
2.10.1 if 语句..............................................46
2.10.2 迭代语句..............................................47
2.10.3 有标签的语句..............................................48
2.10.4 break 语句和 continue
语句..............................................48
2.10.5 with 语句..............................................50
2.10.6 switch 语句..............................................50
2.11 函数..............................................51
2.11.1 无重载..............................................53
2.11.2 arguments
对象
..............................................53
2.11.3 Function 类..............................................54
2.11.4 闭包..............................................56
2.12 小结..............................................57
第 3 章
对象
基础...............................................58
3.1 面向
对象
术语..............................................58
3.1.1 面向
对象
语言的要求..............................................58
3.1.2
对象
的构成..............................................59
3.2
对象
应用..............................................59
3.2.1 声明和实例化..............................................59
3.2.2
对象
引用..............................................59
3.2.3
对象
废除..............................................59
3.2.4 早绑定和晚绑定..............................................60
3.3
对象
的类型..............................................60
3.3.1 本地
对象
..............................................60
3.3.2 内置
对象
..............................................70
3.3.3 宿主
对象
..............................................75
3.4 作用域..............................................75
3.4.1 公用、受保护和私有作用域..............................................75
3.4.2 静态作用域并非静态的..............................................76
3.4.3 关键字 this. 76
3.5 定义类或
对象
..............................................78
3.5.1 工厂方式..............................................78
3.5.2 构造函数方式..............................................80
3.5.3 原型方式..............................................80
3.5.4 混合的构造函数/原型方式..............................................81
3.5.5 动态原型
方法
..............................................82
3.5.6 混合工厂方式..............................................83
3.5.7 采用哪种方式..............................................84
3.5.8 实例..............................................84
3.6 修改
对象
..............................................86
3.6.1 创建新
方法
..............................................86
3.6.2 重定义已有
方法
..............................................87
3.6.3 极晚绑定..............................................88
3.7 小结..............................................88
第 4 章 继承. 104...............................................89 100
4.1 继承机制实例..............................................89
4.2 继承机制的实现..............................................90
4.2.1 继承的方式..............................................90
4.2.2 一个更实际的例子..............................................96
4.3 其他继承方式..............................................100
4.3.1 zInherit
4.3.2 xb
Object
s
4.4 小结..............................................108
第 5 章 浏览器中的
JavaScript
109
5.1 HTML 中的
JavaScript
109
5.1.1 <script/>标签..............................................109
5.1.2 外部文件格式..............................................110
5.1.3 内嵌代码和外部文件..............................................111
5.1.4 标签放置..............................................111
5.1.5 隐藏还是不隐藏..............................................113
5.1.6 <noscript/>标签..............................................113
5.1.7 XHTML 中的改变..............................................114
5.2 SVG 中的
JavaScript
116
5.2.1 SVG 基础..............................................116
5.2.2 SVG 中的<script/>标签..............................................117
5.2.3 SVG 中的标签放置..............................................118
5.3 BOM..............................................119
5.3.1 window
对象
..............................................119
5.3.2 document
对象
..............................................130
5.3.3 location
对象
..............................................133
5.3.4 navigator
对象
..............................................135
5.3.5 screen
对象
..............................................136
5.4 小结..............................................137
第 6 章 DOM 基础...............................................138
6.1 什么是 DOM?..............................................138
6.1.1 XML 简介..............................................138
6.1.2 针对 XML 的
API
141
6.1.3 节点的层次..............................................141
6.1.4 特定语言的 DOM..............................................144
6.2 对 DOM 的支持..............................................145
6.3 使用 DOM..............................................145
6.3.1 访问相关的节点..............................................145
6.3.2 检测节点类型..............................................146
6.3.3 处理特性..............................................147
6.3.4 访问指定节点..............................................148
6.3.5 创建和操作节点..............................................150
6.4 HTML DOM 特征功能..............................................155
6.4.1 让特性像属性一样..............................................155
6.4.2 table
方法
..............................................156
6.5 遍历 DOM..............................................158
6.5.1 NodeIterator. 158
6.5.2 TreeWalker. 163
6.6 测试与 DOM 标准的一致性..............................................165
6.7 DOM Level 3. 166
6.8 小结..............................................166
第 7 章 正则表达式...............................................167
7.1 正则表达式支持..............................................167
7.1.1 使用 RegExp
对象
..............................................168
7.1.2 扩展的字符串
方法
..............................................169
7.2 简单模式..............................................170
7.2.1 元字符..............................................170
7.2.2 使用特殊字符..............................................170
7.2.3 字符类..............................................172
7.2.4 量词..............................................174
7.3 复杂模式..............................................177
7.3.1 分组..............................................177
7.3.2 反向引用..............................................178
7.3.3 候选..............................................179
7.3.4 非捕获性分组..............................................180
7.3.5 前瞻..............................................181
7.3.6 边界..............................................182
7.3.7 多行模式..............................................183
7.4 理解 RegExp
对象
..............................................184
7.4.1 实例属性..............................................184
7.4.2 静态属性..............................................185
7.5
常用
模式..............................................186
7.5.1 验证日期..............................................187
7.5.2 验证信用卡号..............................................188
7.5.3 验证电子邮件地址..............................................192
7.6 小结..............................................193
第 8 章 检测浏览器和操作系统 201...............................................194. 200
8.1 navigator
对象
..............................................194. 198
8.2 检测浏览器的方式..............................................194
8.2.1
对象
/特征检测法..............................................194
8.2.2 user-agent 字符串检测法..............................................195
8.3 user-agent 字符串简史..............................................196
8.3.1 Netscape Navigator 3.0 与
IE3.0. 196
8.3.2 Netscape Communicator 4.0 与
IE 4.0. 197
8.3.3 IE 5.0 及更高版本..............................................198
8.3.4 Mozilla
8.3.5 Opera
8.3.6 Safari
8.3.7 结语..............................................201
8.4 浏览器检测脚本..............................................201
8.4.1
方法
学..............................................202
8.4.2 第一步..............................................202
8.4.3 检测 Opera................................................ 204
8.4.4 检测 Konqueror/Safari ...............................................206
8.4.5 检测 IE................................................ 208
8.4.6 检测 Mozilla. ...............................................209
8.5 平台/操作系统检测脚本..............................................211
8.5.1
方法
学..............................................211
8.5.2 第一步..............................................212
8.5.3 检测 Windows 操作系统..............................................212
8.5.4 检测 Macintosh 操作系统..............................................214
8.5.5 检测 Unix 操作系统..............................................214
8.6 全部脚本..............................................215
8.7 例子:登录页面..............................................219
8.8 小结..............................................224
第 9 章 事件...............................................225
9.1 今天的事件..............................................225
9.2 事件流..............................................226
9.2.1 冒泡型事件..............................................226
9.2.2 捕获型事件..............................................227
9.2.3 DOM 事件流..............................................228
9.3 事件处理函数/监听函数..............................................22
9................................................ 230
9.3.1 IE
9.3.2 DOM..............................................231
9.4 事件
对象
..............................................232
9.4.1 定位...............................................233
9.4.2 属性...............................................233
9.4.3 相似性..............................................235
9.4.4 区别..............................................238
9.5 事件的类型..............................................240
9.5.1 鼠标事件..............................................240
9.5.2 键盘事件..............................................244
9.5.3 HTML 事件..............................................246
9.5.4 变化事件..............................................251
9.6 跨平台的事件..............................................252
9.6.1 EventUtil
对象
..............................................252
9.6.2 添加/删除事件处理函数..............................................252
9.6.3 格式化 event
对象
..............................................254
9.6.4 获取事件
对象
..............................................258
9.6.5 示例..............................................259
9.7 小结..............................................260
第 10 章 高级 DOM 技术...............................................261
10.1 样式编程..............................................261
10.1.1 DOM 样式的
方法
..............................................263
10.1.2 自定义鼠标提示..............................................264
10.1.3 可折叠区域..............................................265
10.1.4 访问样式表..............................................266
10.1.5 最终样式..............................................270
10.2 innerText 和 innerHTML. 271
10.3 outerText 和 outerHTML. 273
10.4 范围..............................................274
10.4.1 DOM 中的范围..............................................274
10.4.2 IE 中的范围..............................................284
10.4.3 范围在实际中的应用..............................................288
10.5 小结..............................................288
第 11 章 表单和数据完整性 ...............................................289
11.1 表单基础..............................................289
11.2 对<form/>元素进行脚本编写..............................................291
11.2.1 获取表单的引用..............................................291
11.2.2 访问表单字段..............................................291
11.2.3 表单字段的共性..............................................292
11.2.4 聚焦于第一个字段..............................................292
11.2.5 提交表单..............................................293
11.2.6 仅提交一次..............................................294
11.2.7 重置表单..............................................295
11.3 文本框..............................................295
11.3.1 获取/更改文本框的值..............................................296
11.3.2 选择文本..............................................297
11.3.3 文本框事件..............................................298
11.3.4 自动选择文本..............................................298
11.3.5 自动切换到下一个..............................................299
11.3.6 限制 textarea 的字符数..............................................300
11.3.7 允许/阻止文本框中的字符..............................................301
11.3.8 使用上下按键操作数字文本..............................................306
11.4 列表框和组合框..............................................308
11.4.1 访问选项..............................................309
11.4.2 获取/更改选中项..............................................309
11.4.3 添加选项..............................................310
11.4.4 删除选项..............................................311
11.4.5 移动选项..............................................312
11.4.6 重新排序选项..............................................313
11.5 创建自动提示的文本框..............................................313
11.5.1 匹配..............................................314
11.5.2 内部机制..............................................314
11.6 小结..............................................316
第 12 章 表格排序...............................................317
12.1 起点——数组..............................................317
12.2 对单列的表格排序..............................................319
12.2.1 比较函数..............................................320
12.2.2 sortTable()函数..............................................320
12.3 对多列表格进行排序..............................................323
12.3.1 比较函数生成器..............................................323
12.3.2 修改 sortTable()
方法
..............................................324
12.3.3 逆序排列..............................................325
12.3.4 对不同的数据类型进行排序..............................................327
12.3.5 高级排序..............................................330
12.4 小结..............................................334
第 13 章 拖放...............................................335
13.1 系统拖放..............................................335
13.1.1 拖放事件..............................................336
13.1.2 数据传输
对象
dataTransfer. 341
13.1.3 dragDrop()
方法
..............................................345
13.1.4 优点及缺点..............................................346
13.2 模拟拖放..............................................346
13.2.1 代码..............................................347
13.2.2 创建放置目标..............................................349
13.2.3 优点及缺点..............................................352
13.3 zDragDrop. 352
13.3.1 创建可拖动元素..............................................352
13.3.2 创建放置目标..............................................353
13.3.3 事件..............................................353
13.3.4 例子..............................................354
13.4 小结..............................................355
第 14 章 错误处理...............................................356
14.1 错误处理的重要性..............................................356
14.2 错误和异常..............................................357
14.3 错误报告..............................................358
14.3.1 IE(Windows)..............................................358
14.3.2 IE(MacOS)..............................................359
14.3.3 Mozilla(所有平台)..............................................359
14.3.4 Safari(MacOS)..............................................360
14.3.5 Opera 7(所有平台)..............................................361
14.4 处理错误..............................................362
14.4.1 onerror 事件处理函数..............................................362
14.4.2 try...catch 语句..............................................365
14.5 调试技巧..............................................370
14.5.1 使用警告框..............................................370
14.5.2 使用 Java 控制台..............................................371
14.5.3 将消息写入
JavaScript
控制台
(仅限 Opera 7+)..............................................372
14.5.4 抛出自定义错误..............................................372
14.5.5
JavaScript
校验器..............................................373
14.6 调试器..............................................374
14.6.1 Microsoft Script Debugger 374
14.6.2 Venkman. 376
14.7 小结..............................................383
第 15 章
JavaScript
中的 XML.. 384
15.1 浏览器中的 XML DOM 支持..............................................384
15.1.1 IE 中的 XML DOM 支持..............................................384
15.1.2 Mozilla 中 XML DOM 支持..............................................388
15.1.3 通用接口..............................................393
15.2 浏览器中的 XPath 支持..............................................403
15.2.1 XPath 简介..............................................403
15.2.2 IE 中的 XPath 支持..............................................404
15.2.3 Mozilla 中的 XPath 支持..............................................404
15.3 浏览器中的 XSLT 支持..............................................408
15.3.1 IE 中的 XSLT 支持..............................................410
15.3.2 Mozilla 中 XSLT 支持..............................................413
15.4 小结..............................................415
第 16 章 客户端与服务器端的通信...............................................416
16.1 cookie. 416
16.1.1 cookie 的成分..............................................416
16.1.2 其他安全限制..............................................417
16.1.3
JavaScript
中的 cookie. 417
16.1.4 服务器端的 cookie. 419
16.1.5 在客户端与服务器端之间
传递 cookie. 422
16.2 隐藏框架..............................................423
16.3 HTTP 请求..............................................426
16.3.1 使用 HTTP 首部..............................................428
16.3.2 实现的复制品..............................................429
16.3.3 进行 GET 请求..............................................430
16.3.4 进行 POST 请求..............................................430
16.4 LiveConnect 请求..............................................431
16.4.1 进行 GET 请求..............................................431
16.4.2 进行 POST 请求..............................................433
16.5 智能 HTTP 请求..............................................435
16.5.1 get()
方法
..............................................435
16.5.2 post()
方法
..............................................438
16.6 实际使用..............................................439
16.7 小结..............................................439
第 17 章 Web 服务...............................................440
17.1 Web 服务快速入门..............................................440
17.1.1 Web 服务是什么?..............................................440
17.1.2 WSDL. 441
17.2 IE 中的 Web 服务..............................................443
17.2.1 使用 WebService 组件..............................................444
17.2.2 WebService 组件例子..............................................445
17.3 Mozilla 中的 Web 服务..............................................447
17.3.1 加强的特权..............................................447
17.3.2 使用 SOAP
方法
..............................................448
17.3.3 使用 WSDL 代理..............................................451
17.4 跨浏览器的方案..............................................454
17.4.1 WebService
对象
..............................................454
17.4.2 Temperature 服务..............................................456
17.4.3 使用TemperatureService
对象
..............................................458
17.5 小结..............................................458
第 18 章 与插件进行交互...............................................459
18.1 为何使用插件..............................................459
18.2 流行的插件..............................................460
18.3 MIME 类型..............................................460
18.4 嵌入插件..............................................461
18.4.1 加入参数..............................................461
18.4.2 Netscape 4.x. 462
18.5 检测插件..............................................462
18.5.1 检测 Netscape 式插件..............................................463
18.5.2 检测 ActiveX 插件..............................................467
18.5.3 跨浏览器检测..............................................469
18.6 Java applet 470
18.6.1 嵌入 applet 470
18.6.2 在
JavaScript
中引用 applet 471
18.6.3 创建 applet 471
18.6.4
JavaScript
到 Java 的通信..............................................472
18.6.5 Java 到
JavaScript
的通信..............................................475
18.7 Flash 动画..............................................477
18.7.1 嵌入 Flash 动画..............................................477
18.7.2 引用 Flash 动画..............................................478
18.7.3
JavaScript
到 Flash 的通信..............................................478
18.7.4 Flash 到
JavaScript
通信..............................................481
18.8 ActiveX 控件..............................................483
18.9 小结..............................................485
第 19 章 部署问题...............................................486
19.1 安全性..............................................486
19.1.1 同源策略..............................................486
19.1.2 窗口
对象
问题..............................................487
19.1.3 Mozilla 特有的问题..............................................488
19.1.4 资源限制..............................................490
19.2 国际化..............................................491
19.2.1 使用
JavaScript
检测语言..............................................491
19.2.2 策略..............................................492
19.2.3 字符串的思考..............................................492
19.3 优化
JavaScript
495
19.3.1 下载时间..............................................495
19.3.2 执行时间..............................................499
19.4 知识产权的问题..............................................512
19.4.1 混淆..............................................512
19.4.2 Microsoft Script Encoder
(仅 IE)..............................................513
19.5 小结..............................................514
第 20 章
JavaScript
的未来...............................................515
20.1 ECMAScript 4. 515
20.1.1 Netscape 的提案..............................................515
20.1.2 实现..............................................521
20.2 ECMAScript for XML. 522
20.2.1 途径..............................................522
20.2.2 for each..in 循环..............................................524
20.2.3 新的类..............................................524
20.2.4 实现..............................................532
20.3 小结..............................................532
JavaScript
中
对象
方法
总结:
资料来源:网道-互联网开发文档 【https://wangdoc.com/】
1、
Object
.getPrototypeOf(
Object
)
Object
.getPrototypeOf
方法
返回参数
对象
的原型。这是获取原型
对象
的标准
方法
。
代码示例:
var F = function () {};
var f = new F();
Object
.getPrototypeOf(f) === F.prototype // true
几种特殊
对象
的方
ADVANCED WCM/WEBSPHERE PORTAL SEARCH INTEGRATION 17
Introduction 17
How to search WCM content using this metadata 18
Specific example 21
15、高级参数二 32
16、搜索网页资料 33
二、页面导航 41
1、页面导航组件创建 41
2、使用场景及其环境设置 41
三、授权与用户 41
1、一般用户 41
2、匿名用户 42
3、授权地点及其方式 42
4、传播与继承 42
5、用户与组管理 43
四、域名 44
1、portal服务器域名 44
2、本机域名映射 44
五、WCM几个页面路径及其名称 44
1、登录页面 44
2、主题及主页页面 45
3、皮肤外观页面路径 45
4、session超时页面 45
5、登录portal时,绕过登录界面,直接进入到主页(或再登录) 45
6、自定义登录跳转页面 45
7、判断用户是否登录标签 46
8、portal登录注销再登录只出现一张图片 46
9、登录失败及修改提示信息 46
10、设置超时跳转页面 47
11、 输出登录用户名称 47
12、输出注销 48
13 、动态链接 48
六、使用WCM时,会遇到的问题 48
1、不能向富文本编辑器中粘贴内容 48
2、设置WCM timeout超时值 48
3、一般用户不能访问内容 49
4、页面导航不能分页 49
5、一些portal常见问题 49
6、Portal中调用PUMA SPI管理用户和组信息 51
7、WCM内存溢出的解决
方法
53
七、组件及其标签 53
(一)、标签 53
1、
js
p组件 53
2、组件关联格式 54
3、IDCmpnt标签 55
4、workflowcmpnt标签 55
5、securitycmpnt标签 58
6、profilecmpnt 标签 63
7、pathcmpnt 标签 65
8、historycmpnt标签 67
9、idcmpnt标签 70
10、数字显示格式 73
11、URLCmpnt标签 74
12、AptrixLibCmpnt 标签 76
13、placeholder标签与用户名显示 77
14、
JS
P中初始化workspace的标签 78
15、
JS
P中用标签输出一条内容 78
(二)、标签及其功能的使用 78
1、Writing links to Web Content Management content 78
(三)拖放
JS
P标记 80
1) 80
2) 83
3) 84
(四)拖放区域 84
1)在定制主题和外表中使用拖放 85
2)拖放标记摘要 85
3)拖放
API
86
八、功能应用或问题 87
1、WCM多子站区指向指定子站区配置 87
2、更改PORTAL默认的登录选项 89
3、如何在主题与皮肤中获取PORTAL登录用户信息 90
4、PORTAL6.1.0.3无法查找任何的用户或用户组 92
5、如何个性化PORTLET添加控制板 93
6、IBM WCM中匿名搜索 94
7、开发一个系统登录的PORTLET 95
8、WEBSPHERE PORTAL调整PORTLET之间的间隙 102
9、PORTAL6.1.0.1配置扩展属性 105
10、内容链接(同服务器或同站区) 120
11、内容链接(不同服务器或不同站区) 120
12、草稿内容阶段的判断、操作和获取(
API
) 121
13、WCM 中附件下载 121
14、WCM流程带审核组成 122
15、关于使用WCM
API
获取内容的小经验 123
16、PORTAL WAR包部署方式 124
17、设置PAGE-AREA区域背景为透明 127
18、设置PAGE-AREA区域的宽度 127
19、设置左侧导航页面相对标签的缩进 128
20、PORTLET之间间隙的调整 129
21、WCM 主题中获取登录用户的UID信息 129
22、配置是否自动加载主题
JS
P文件 131
23、菜单中标题链接迭代方式(
一、DOM
DOM: DOM= Document
Object
Model,文档
对象
模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的
常用
方法
。有一点很重要,DOM的设计是以
对象
管理组织(OMG)的规约为基础的,因此可以用于任何编程语言.D:文档 – html 文档 或 xml 文档O:
对象
– document
对象
的属性和
方法
M:模型DOM 是针对xml(html)的基于树的
API
。DOM树:节点(node)的层次。DOM 把一个文档表示为一棵家谱树(父,子,兄弟)DOM定义了Node的接口以及许多种节点类型来表示
一个序列化库,用于序列化
JavaScript
对象
的图形。
其主要目的是提供
JS
ON所缺少的功能,以及一种通过新类型或自定义
JavaScript
对象
轻松扩展序列化格式的机制。
这是Montage框架用于管理其模板中
对象
序列化的库。
JS
ON不会做什么
命名
对象
引用和循环引用(不再是TypeError: Converting circular structure to
JS
ON )
常用
表达
API
参考
Serializer()
serialize
Object
(
object
)
将
对象
序列化为字符串。
serialize(
object
s)
将
对象
序列化为字符串,每个
对象
都带有与之关联的标签。
对象
以
对象
文字{label1:
object
1, label2:
object
2, ..., labelN:
object
N} 。
setSerializatio
接受一个内部值(任何值)并返回一个响应式且可变的 ref
对象
。ref
对象
仅有一个.value属性,指向该内部值。
如果传入的值为一个
对象
,则他的所有属性值采用reactive进行响应式转换,也就是说使用ref进行响应式转换后的数据时,只需要对最外层的
对象
使用一次.value即可。
<script setup>
import { ref } from 'vue'
let obj = ref({name: 'fufu', info: {age: 20}})
console.l
JavaScript
有11种内置
对象
:String Number Boolean Error Function Array RegExp
Object
Math Date window/Global,下面将介绍一些
常用
对象
的
API
1. String
对象
字符串可以通过str[i]创建数组,访问内容,但是一旦创建内容不可更改。属性:length 作用与数组相同 获取字符串的长度
charAt...
Object
.assign()
方法
用于将所有可枚举属性的值从一个或多个源
对象
复制到目标
对象
。它将返回目标
对象
。
Object
.assign(target, ...sources)
const .
1.
Object
.keys(obj):返回一个由
对象
的所有可枚举属性组成的数组。
2.
Object
.values(obj):返回一个由
对象
的所有可枚举属性值组成的数组。
3.
Object
.entries(obj):返回一个由
对象
的所有可枚举属性键值对组成的数组。
4.
Object
.assign(target, ...sources):将一个或多个源
对象
的所有可枚举属性复制到目标
对象
中。
5.
Object
.defineProperty(obj, prop, descriptor):定义一个新属性或修改一个已有属性的特性。
6.
Object
.getOwnPropertyDescriptor(obj, prop):返回指定属性的描述符。
7.
Object
.freeze(obj):冻结一个
对象
,使其属性不可修改。
8.
Object
.seal(obj):封闭一个
对象
,使其属性不可添加或删除,但属性值可以修改。
9.
Object
.is(obj1, obj2):比较两个
对象
是否相等,与 === 运算符的行为类似。
10.
Object
.create(proto, [properties
Object
]):创建一个新
对象
,使用现有
对象
作为新
对象
的原型。
以上是 ECMAScript
对象
的
常用
方法
。