当前位置:文档之家› 在VBA中使用JAVASCRIPT和VBSCRIPT

在VBA中使用JAVASCRIPT和VBSCRIPT

在VBA中使用JAVASCRIPT和VBSCRIPT
在VBA中使用JAVASCRIPT和VBSCRIPT

在VBA中使用JAVASCRIPT和VBSCRIPT(1)javascript有许多函数和功能可以弥补VBA不足,如正则,数组,类,等等1)以数组为例,用JAVASCRIPT排序

Sub fig8()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "javascript"

arr = Array("aa", "cc", "bb", "1a")

kk = Join(arr, ",")

x.addcode "function aa(bb){x=bb.split(',');x.sort();return x;}"

cc = x.eval("aa('" & kk & "')")

MsgBox cc

End Sub

2)1)以数组为例,用JAVASCRIPT倒序

Sub fig8()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "javascript"

arr = Array("aa", "cc", "bb", "1a")

kk = Join(arr, ",")

x.addcode "function aa(bb){x=bb.split(',');x.reverse();return x;}" cc = x.eval("aa('" & kk & "')")

MsgBox cc

End Sub

用VBSCRIPT的简单例子

Sub fig8()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

x.addcode "sub aa(): msgbox ""hello.."":end sub "

x.Run "aa"

End Sub

以前需要分开好几个模块,函数,现在可以统统放在一起了。。。。。

Sub fig8()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

x.addcode "sub aa(): msgbox ""hello.."":end sub : sub bb:msgbox 3:end sub :sub cc: msgbox ""cc"":end sub"

x.Run "aa"

x.Run "bb"

x.Run "cc"

End Sub

自定义函数的用法

Sub fig8()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

x.addcode "function sum(x,y):sum=x+y:end function "

bb = x.Run("sum", 2, 3)

MsgBox bb

End Sub

动态改变窗口,文本框,单元格,range属性,

'本例改[A1:z888]单元格为红色

Sub fig88()

Set X = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

X.addcode "SUB AA:XX.INTERIOR.COLORINDEX=3:END SUB "

X.ADDOBJECT "XX", [A1:z888]

X.Run "AA"

End Sub

设置和调用全局变量

Sub figvb()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

x.addcode "public x: sub aa(bb):x=bb*100:end sub"

x.Run "aa", 3

b = x.codeobject.x

MsgBox b

End Sub

代码放在单元格里不再是笑话:)

Sub figvbs()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

[a1] = "a1=3"

[a2] = "b1=4"

[a3] = "msgbox a1+b1"

For i = 1 To 3

x.executestatement Cells(i, 1)

Next

End Sub

新建类可以不再需要类模块

Sub figvbs()

Set X = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

X.ADDCODE "CLASS AA:PUBLIC SUB TEST():MSGBOX ""类模块"":END SUB:END CLASS" X.ADDCODE "SET YY=NEW AA"

Set RR = X.EVAL("YY")

RR.TEST

End Sub

表达式可以直接拿来运算

Sub aa()

Set X = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

Dim ARR(2)

ARR(0) = "3"

ARR(1) = "4*6"

ARR(2) = "SIN(5)"

KK = Join(ARR, "+")

BB = X.EXECUTESTATEMENT("MSGBOX " & KK)

KK = Join(ARR, "*")

BB = X.EXECUTESTATEMENT("MSGBOX " & KK)

End Sub

msgbox ,inputbox 也可以作为变量

Sub figtest1()

Set x = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

aa = "msgbox "

bb = "cc=inputbox"

For i = 1 To 4

If i Mod 2 = 0 Then

kk = aa & " " & i

Else

kk = bb & "(" & i & ")"

End If

x.executestatement (kk)

Next

End Sub

字符串加密(md5)

Sub figtest1()

Set X = CreateObject("msscriptcontrol.scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "vbscript"

X.ADDCODE "Function x(s):Set y= CreateObject(""CAPICOM.HashedData""):y.Algorithm =3:" & _

"y.Hash s:z = y.Value:x = z:End Function"

BB = X.Run("x", "FIGFIG")

MsgBox "字符 FIGFIG 加密后是: " & BB

End Sub

数组也可以随意切割了

Sub JSArraySample()

Set objJS = CreateObject("ScriptControl")

With objJS

.Language = "JScript"

.AddCode "function JSSplit(s,d){return s.split(d);}"

End With

文字列 = "a,b,c,d,e"

Set b = objJS.CodeObject.JSSplit(文字列, ",")

' '数组也可以随意切割了

MsgBox b.slice(0, 1)

MsgBox b.slice(1, 2)

MsgBox b.slice(2, 5)

End Sub

功能更加强大的正则表达式

Sub figexp()

Set js = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

script = "'abcdefg'.match(/a/)"

result = js.eval(script)

MsgBox result

End Sub

jscript返回的对象应该是一个数组,可以在VB直接调用相关函数,但又可以直接显示所有元素

Sub Mytest()

Set sp1 = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function sortarr(arr){return arr.toArray();}" '顺序

sp1.AddCode s

aa = Array("张", "王", "李", "赵", "钱", "孙", "周", "吴", "郑", "王")

Set bb = sp1.codeobject.sortarr(aa)

MsgBox bb

MsgBox bb.slice(1, 4)

MsgBox bb.concat("888").concat("777")

bb.push ("999")

MsgBox bb

End Sub

数组非交集

Sub figjs()

arr1 = [a2:a11]

arr2 = [b2:b6]

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval ("function aa(aa) {return aa.toArray();}")

Set arr3 = x.eval("new Array();")

Set y = x.codeobject.aa(arr1)

Set z = x.codeobject.aa(arr2)

Set m = y.concat(z)

For Each mm In m

If InStrRev(m, mm) = InStr(m, mm) Then arr3.push mm

Next

MsgBox arr3

End Sub

其他的强大的数组功能

Sub Mytest()

Set sp1 = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function sortarr(arr){return arr.toArray();}" '顺序

sp1.AddCode s

aa = Array("张", "王", "李", "赵", "钱", "孙", "周", "吴", "郑", "王") Set bb = sp1.codeobject.sortarr(aa)

bb.push ("999") '直接添加到数组末尾,不再需要重定义

MsgBox bb

bb.unshift ("888") '直接添加到数组开头,不再需要重定义

MsgBox bb

bb.pop '删除最后一个元素

MsgBox bb

bb.shift '删除最前一个元素

MsgBox bb

bb.splice 2, 3, "a", "b", "c" '直接替换数组

MsgBox bb

End Sub

Sub tst004()

Set objIE = CreateObject("InternetExplorer.Application")

.Navigate "about:blank"

.Visible = 1

End With

Do While objIE.Busy = True

DoEvents

Loop

objIE.Document.Write "TEST" & Chr(10)

End Sub

Sub tst004()

Set ie = CreateObject("InternetExplorer.Application")

With ie

.Navigate "about:blank"

.Visible = 1

End With

Do While ie.Busy = True

DoEvents

Loop

ie.document.write "

"

End Sub

数组的读取

Sub figjjs()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

Set y = x.eval("aa=new Array()")

For i = 1 To 100

Next

kk = 8

MsgBox x.eval("aa[" & kk & "]")

End Sub

把多维数组转换为一维

Sub kk()

[a1] = 1

[a2] = 2

[b1] = 3

[b2] = 4

Dim sc As Object

Set sc = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

a = [a1:b2]

sc.AddCode "function aa(a){return new VBArray(a).toArray();}" Set n = sc.CodeObject.aa(a)

MsgBox n

End Sub

把单元格作为对象传入js里

Sub ava()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval "function aa(aa) {return aa.value.toArray()}"

Set y = x.Run("aa", [a1:b4])

MsgBox y

End Sub

把单元格作为对象传入js里

Sub ava()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval "function aa(aa) {return aa.font.colorindex}"

y = x.Run("aa", [a1])

MsgBox y

End Sub

把workbook对象传入js里

Sub ava()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval "function aa(aa) {return aa.sheets.count}"

y = x.Run("aa", ThisWorkbook)

MsgBox y

End Sub

传入WORKBOOK,输出A1单元格

Sub ff()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval "function aa(aa) {return aa.sheets(1).cells(1,1)}"

Set y = x.Run("aa", ThisWorkbook)

MsgBox y

MsgBox y.Row

End Sub

创建对象和属性

Sub ff()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.eval "aa=new Object;aa.myname='fig7'"

Set y = x.eval("aa")

MsgBox y.myname

y.myname = "fig8"

MsgBox y.myname

End Sub

调用其他模块,JA V ASCRIPT 也可以有MSGBOX

注意把代码放入WORKBOOK,不能放入模块1,至于模块1应该传入什么对象,请版主和

其他高手有空研究一下,谢谢

这里传入ME,就是thisworkbook,可以调用BB函数,在模块1我试过传入APPLICATION 对象,但是不行,无法调用BB

如果用VBE.PROJECTS对象又要修改设置不太实用

Private Sub kkk()

Set m_sc = CreateObject("ScriptControl")

With m_sc

.Language = "JScript"

.AddObject "o", Me

.EV AL "o.bb()"

End With

End Sub

Public Sub bb()

MsgBox "kk"

End Sub

模块中可以传入thisworkbook

Private Sub kkk()

Set m_sc = CreateObject("ScriptControl")

With m_sc

.Language = "JScript"

.AddObject "o", ThisWorkbook

.EV AL "o.bb()"

End With

End Sub

Public Sub bb()

MsgBox "kk"

End Sub

window对象的那些方法

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "function aa(aa) {aa.alert(1)}"

y = x.Run("aa", ie.parentWindow)

End Sub

请问figfig老师,怎么调用传入的对象的方法。Sub ava()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "function aa(aa) {aa.sheets(1).cells(1,1)=2}"

y = x.Run("aa", ThisWorkbook)

End Sub

Sub ava()

Set x = CreateObject("scriptcontrol")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "function aa(aa) {https://www.doczj.com/doc/e86941023.html,='b'}"

y = x.Run("aa", ActiveSheet)

End Sub

查出是哪个函数调用本函数,

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var WD;function gg() {WD.alert(gg.caller)};function aa(aa) {WD=aa;gg();}function bb(aa) {WD=aa;gg();}"

y = x.Run("aa", ie.parentWindow)

y = x.Run("bb", ie.parentWindow)

End Sub

Sub kkk()

Set ie = CreateObject("htmlfile")

Set win = ie.parentwindow

win.execscript "function aa(aa){alert(aa)}"

win.aa "bbb"

End Sub

Sub kkk()

Set ie = CreateObject("htmlfile")

Set win = ie.parentwindow

win.execscript "function aa(){alert(1);};function bb(){ll=setTimeout(aa(),1000)}"

ll = win.setInterval(win.aa, 1000)

MsgBox ll

End Sub

SETINTERV AL

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var WD;function gg() {WD.alert(2);};function aa(aa) {WD=aa;WD.alert(1);WD.setInterval(gg,1000);}"

y = x.Run("aa", ie.parentWindow)

MsgBox "暂时不要点确定"

End Sub

也可以这样,SETTIMEOUT

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var WD;function gg() {WD.alert(2);};function aa(aa) {WD=aa;WD.alert(1);WD.setTimeout(gg,1000);}"

y = x.Run("aa", ie.parentWindow)

For I = 1 To 8888888888888#

DoEvents

Next

End Sub

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var bb;function aa() {bb.range('a1')+=1;} ;function mm(cc,dd){bb=cc;dd.setInterval(aa,2000)}"

y = x.Run("mm", ActiveSheet, ie.parentWindow)

For i = 1 To 888888888888888#

DoEvents

Next

End Sub

可同时运行的程序

下面代码可以看出JSCRIPT好像是多线程的,可以同时运行其他VBA程序,

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var bb;function aa() {bb.range('a1')+=1;} ;function mm(cc,dd){bb=cc;dd.setInterval(aa,2000)}"

y = x.Run("mm", ActiveSheet, ie.parentWindow)

For i = 1 To 888888888888888#

[a2] = [a2] + 1

DoEvents

Next

End Sub

多线程,同时运行,突破VBA程序运行单线程限制

Sub ava()

Set x = CreateObject("scriptcontrol")

Set ie = CreateObject("htmlfile")

https://www.doczj.com/doc/e86941023.html,nguage = "jscript"

x.EV AL "var bb;function aa() {bb.range('a1')+=1;} ;function mm(cc,dd){bb=cc;dd.setInterval(aa,2000)}"

y = x.Run("mm", ActiveSheet, ie.parentWindow)

x.EV AL "var bb;function aa() {bb.range('a2')+=1;} ;function mm(cc,dd){bb=cc;dd.setInterval(aa,2000)}"

y = x.Run("mm", ActiveSheet, ie.parentWindow)

For i = 1 To 888888888888888#

[a3] = [a3] + 1

DoEvents

Next

End Sub

获得当前屏幕的长宽,不用API

Sub ava2()

Set ie = CreateObject("htmlfile")

Set win = ie.parentwindow

MsgBox win.screen.Width

End Sub

发送邮件

Sub sendmail()

CreateObject("htmlfile").parentwindow.Open "mailto:my@self.xyz?subject=hi&body=ha" End Sub

在VBA中使用JA V ASCRIPT和VBSCRIPT(2)

介绍JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language (https://www.doczj.com/doc/e86941023.html,/javascript), Standard ECMA-262 3rd Edition - December 1999(http://www.ecma-international.or ... cma-st/ECMA-262.pdf)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式:

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

值(value)可以是双引号括起来的字符串(string)、数值(number)、ture、false、null、对象(object)或者数组(array)。这些结构可以嵌套。

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

除去一些编码细节,以下描述了完整的语言。

字符串(string)与C或者Java的字符串非常相似。除去未曾使用的八进制与十六进制格式,数值(number)也与C或者Java的数值非常相似。

空白可以加入到任何符号之间。

Sub figjson()

aa = "{ ""myname"":""figfig"", ""myid"":""888"" }"

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ')'); }"

x.AddCode s

Set y = x.CodeObject.j(aa)

MsgBox y.myname

MsgBox y.myid

End Sub

例子2

Sub figjson2()

aa = "{myname:""alonely"", age:24, email:[""aa4@https://www.doczj.com/doc/e86941023.html,"",""aa@https://www.doczj.com/doc/e86941023.html,""], family:{parents:[""父亲"",""母亲""],toString:function(){return ""家庭成员"";}}}"

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ')'); }"

x.AddCode s

Set y = x.Run("j", aa)

MsgBox y.myname

MsgBox y.age

MsgBox y.email

MsgBox y.family

MsgBox y.family.parents

End Sub

多重结构,树状显示,类似XML节点树,代码比XML简洁得多

Sub figjson3()

aa = "{""myname"":""Michael"",""myaddress"":{""city"":""Beijing"",""street"":"" Chaoyang Road "",""postcode"":100025}}"

Set X = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ')'); }"

X.AddCode s

Set y = X.Run("j", aa)

MsgBox y.myname

MsgBox y.myaddress

MsgBox y.myaddress.city

MsgBox y.myaddress.postcode

End Sub

数组放入对象里

Sub figjson4()

aa = "{ ""people"": [{ ""firstName"": ""Brett"", ""lastName"":""McLaughlin"", ""email"": ""brett@https://www.doczj.com/doc/e86941023.html,"" },{ ""firstName"": ""Jason"", ""lastName"":""Hunter"", ""email"": ""jason@https://www.doczj.com/doc/e86941023.html,"" }, { ""firstName"": ""Elliotte"", ""lastName"":""Harold"", ""email"": ""elharo@https://www.doczj.com/doc/e86941023.html,"" }]}"

Set X = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ').people[1]'); }"

X.AddCode s

Set y = X.Run("j", aa)

MsgBox y.firstName

MsgBox y.email

End Sub

可用单引号代替2个双引号,简化写法,如例子一

Sub figjson()

aa = "{ 'myname':'figfig', 'myid':'888' }"

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ')'); }"

x.AddCode s

Set y = x.CodeObject.j(aa)

MsgBox y.myname

MsgBox y.myid

End Sub

在EXCEL中的应用

如SHEET1 A1单元格为AA, B1单元格为BB

Sub figjson()

aa = "{ '" & [a1] & "':'" & [b1] & " ' }"

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "function j(s) { return eval('(' + s + ')'); }"

x.AddCode s

Set y = x.CodeObject.j(aa)

MsgBox y.aa

End Sub

传递数值值

Sub figjson()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var a=2 ;var b=3;var cc={a:a,b:b}"

x.AddCode s

Set y = https://www.doczj.com/doc/e86941023.html,

MsgBox y.a

End Sub

动态添加数据

Sub figjson()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var a=2 ;var b=3;var cc={a:a,b:b};cc['电话']=8888;"

x.AddCode s

Set y = https://www.doczj.com/doc/e86941023.html,

MsgBox y.电话

End Sub

数据动态变化

Sub figjson()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var a=2 ;var b=3;var cc={a:a,b:b};cc['电话']=8888;"

x.AddCode s

Set y = https://www.doczj.com/doc/e86941023.html,

MsgBox y.电话

s = "cc['电话']=9999;"

x.AddCode s

MsgBox y.电话

End Sub

用变量来查询

Sub figjson()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var cc={name:'figfig',id:'888',tel:'1234'};"

x.AddCode s

kk = "name"

y = x.eval("cc['" & kk & "']")

MsgBox y

kk = "id"

y = x.eval("cc['" & kk & "']")

MsgBox y

kk = "tel"

y = x.eval("cc['" & kk & "']")

MsgBox y

End Sub

与VB比较,代码更加简洁明了,可作为小型数据库Sub vb代码()

Name = "bb"

If Name = "aa" Then Address = "us"

If Name = "bb" Then Address = "cn"

If Name = "cc" Then Address = "uk"

MsgBox Address

Name = "cc"

If Name = "aa" Then Address = "us"

If Name = "bb" Then Address = "cn"

If Name = "cc" Then Address = "uk"

MsgBox Address

End Sub

Sub fjson代码()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var address={aa:'us',bb:'cn',cc:'uk'}"

x.AddCode s

Name = "bb"

Address = x.eval("address['" & Name & "']")

MsgBox Address

Name = "cc"

Address = x.eval("address['" & Name & "']")

MsgBox Address

End Sub

类似数组,可增加和删除数据

Sub figjs()

Set x = CreateObject("ScriptControl")

https://www.doczj.com/doc/e86941023.html,nguage = "JScript"

s = "var address={bb:'0' };"

x.AddCode s

For i = 1 To 100

s = "address[" & i & "]=" & i & ";"

x.AddCode s

Next

Address = x.eval("address[88]")

MsgBox Address

Address = x.eval("address[77]")

MsgBox Address

x.eval ("delete address[77]")

Address = x.eval("address[77]")

MsgBox Address

End Sub

在VBA中使用JA V ASCRIPT和VBSCRIPT(3)

phpjs是用js实现php同名函数,对PHP熟悉而对JS一般熟悉的人一定写过一些类似PHP函数的JS函数,PHP的函数应该是这个世界上最丰富的函数库了,因为它是由全世界

《工具书使用》第二次网上作业答案说课材料

《工具书使用》第二次网上作业答案 你的得分: 100.0 完成日期:2018年01月29日 15点11分 说明:每道小题选项旁的标识是标准答案。 一、单项选择题。本大题共20个小题,每小题 2.0 分,共40.0分。在每小题给出的选项中,只有一项是符合题目要求的。 1.《二十五史纪传人名索引》收录《二十四史》和()中有纪传的人名. A.《汉书》 B.《清史稿》 C.《宋史》 D.《明史》 2.历表可用于查考历史年代、历史纪元和()。 A.查考历史大事 B.查考换算不同历法的年、月、日 C.查考地理沿革 D.查考人物生卒年 3.《经传释词》的作者是( )。 A.阮元 B.刘淇 C.王引之 D.杨树达 4.从著录内容上看,地名录比地名词典()。 A.丰富全面 B.收录地名少 C.简明扼要 D.收录旧地名 5.主题法的显著特点在于直接性、()和集中性。 A.系统性 B.快捷性

C.易用性 D.专指性 6.我国第一部语源词典为()。 A.《尔雅》 B.《释名》 C.《说文解字》 D.《正字通》 7.查近期出版和正在出版的图书,可利用()。 A.《全国总书目》 B.《全国新书目》 C.《中国国家书目》 D.《新华书目报》 8.《中国大百科全书》的《总索引》是按()并辅之以汉字笔画、起笔笔 形顺序排列的。 A.汉语拼音字母 B.部首 C.四角号码 D.时序法 9.图录包括地图和()。 A.交通图 B.航海图 C.历史图录 D.世界图 10.“固”字的四角号码是()。 A.7760 B.6000 C.2760 D.6060

11.年鉴按其表述手段可分为综述性年鉴和()。 A.综合性年鉴 B.地方年鉴 C.国际年鉴 D.统计性年鉴 12.书目的三个基本特征是:揭示与描述一批相关图书、描述每种图书的基本 特征和()。 A.揭示内容 B.揭示范围广 C.把一定范围的款目按一定的排检法加以组织,以供检索 D.标明出处 13.我国最早的词典是()。 A.《切韵》 B.《尔雅》 C.《广韵》 D.《集韵》 14.我国最早用“字典”正式命名的字典,是清代张玉书,陈敬延等编的()。 A.《古汉语常用字字典》 B.《中华大字典》 C.《汉语大字典》 D.《康熙字典》 15.下列属于类书的是()。 A.《助字辨略》 B.《康熙字典》 C.《古今图书集成》 D.《永乐大典》 16.我国第一部按部首编排的字典是()。 A.《康熙字典》 B.《字汇》 C.《辞源》 D.《说文解字》

如何运用权力推动工作

工作、事情,表面上是流程,其实背后都是一个个的活人~所以归根结底,推动工作本质上,还是和人打交道的学问。 如果你是boss不是人,那就简单了~没吃过猪肉还没见过猪跑么~没当过领导总被领导管过吧…… 如果你是同级甚至还是下级…… 一是做好自己的本职工作——虽然严格来说,如果你跟对方的工作没有那么高的耦合性(即工作成果并不互相依赖),那么你是否完成了自己的工作和对方是否能完成他的工作,基本上是不相关的。但事实上如果你要推动别人,先得把自己洗洗干净,要不没有说服力…… 二是提升自己的影响力,积极影响他人——一是前提啦,自己的本职工作完成的好,自然就会在团队中有一定的影响力。一方面可能是因为你的专业技能,另一方面也因为你的工作成绩(这两者其实是相互依赖的)。利用这种影响力可以做很多事情,其中推动他人完成其本职工作就是其中一件事情 三是适当的强势——推动别人完成工作的,除了领导这一角色以外,往往就是项目经理了。但项目经理由于需要管理来自不同部门的不同角色,而且又是平级管理(即并非对方上级),人格力量就显得很重要。打成一片和居高临下都不是好的状态,孔子说“唯女子与小人为难养也,近之则不逊,远之则怨”。这话有点不合理,其实并不光女子与小人这样,所有人都是这个B样~跟他不熟吧,没法推;跟他太熟吧,不怕你推。领导者跟被领导者保持必要的距离感还是很重要的。而保持距离感的一个主要手段,就是表现得强势。当然,要是适度的,而且要有前期的相互了解和沟通为前提,不然很容易变成别人眼中的2B~ 总的来说,推动一件事(不论是工作还是生活中),都需要运用一个人的权力 但权力本质上是一种幻觉~如果没人听你的,权力又从何而来呢?怎么样营造出一种权力的幻觉呢? 一是自身努力赢得肯定,二是适当技巧因人而异。 1)制定时间表:从项目的deadline反推,把每项工作的完成时间、交付物、负责人详细拆分。然后以书面形式知会所有stakeholder,这样就白纸黑字有章可循了,公平高效,抵赖无处。当然,重要的一点是做时间表的时候要留有余地,拖延这种事情么,会发生在90%的自然人身上,你懂的。加之项目本身可能会有各种风险,时间的预留是非常必要的,总之宜早不宜晚,你可以给项目组成员设立一个比实际deadline 稍早的时间点。 2)做出表率:一般来说PM也会承担项目里的某些具体分工,所以首先要把自己的工作保质保量按时完成,当然最好是提前完成,才有精力push别人、审核交付物、管理整个项目。如果你自己拖延的话,一来无说服力,二来很容易使整个项目陷入鸡飞狗跳状。 3)好脑瓜不如烂笔头:刚用完一大本工作笔记的人表示,一直延续着随手记的习惯。毕竟事情太多,很容易忘掉一些,如果是小事可能不打紧,但是保不准忘掉的就是影响全局的事呢。遇到boss抛过来challenge 你,一句我忘了可是很囧的。个人经验来说,每天下班前列个“已完成”+“明天要做”很好用。 4)一切以解决问题,推动进程为目标:项目中遇到困难、意外、风险、分歧是很正常的,这个时候争吵抓狂愤怒推卸都没有用,总之谁对谁错不是最重要的,重要的是抓紧找到解决办法,继续推进。 5)多沟通:效率顺序依次为面谈、电话、短信、邮件、即时通讯……如果是同一办公室部门之间最好跑过去当面说,对外沟通电话先问下别人是否方便说话,方便的话直接说清楚,不方便约定答复时间回头短信或邮件(如果需要对方答复,明确时间点很重要)。推动事儿的本质在于推动人,而推动人的基本方法就是有效的运用权力。

权利的来源及正确使用权力

权利的来源及正确使用 ——李超平 1、法定性权力 在企业管理中,你处于什么位置,高层、中层、还是低层,由此获得的这种权力就是法定性的权力,一旦有了正式的任命,你就具有了法定性的权力。法定性的权力比后两种权力覆盖面更广,它会影响到人们对于职位权力的接收和认可,没有这法定作为基础,前面的强制性权力和奖赏性权力往往都不能够证实。例如没有给你任命,虽然告诉你要负责这个部门,但是你的这种奖赏性的权力和强制性的权力就会大打折扣,为什么呢?所谓名不正、言不顺,没有正式任命,那么你就是临时的。 2、奖赏性权力 与强制性权力正好相反,领导可以奖赏员工,让员工来重视自己。奖赏性的权力是让人们愿意服从领导者的指挥,通过奖励的方式来吸引下属,这种奖励包括金钱、晋升、学习的机会等。安排员工去做自己更感兴趣的工作,或者给员工更好的工作环境等等,这些都属于奖赏性权力的范围。 强制性权力和奖赏性权力是一对相对的概念,如果你能够剥夺和侵害他人的实际利益,那么你就具有强制性的权力;如果你能够给别人带来积极的利益和免受消极因素的影响,那么你就具有奖赏性权力。跟强制性权力不一样,奖赏性权力不一定要成为领导者才具有,有时作为一个普通的员工,也可以表扬另外一个员工,也可以在会上强调别人所做出的贡献,这本身也是一种权力和影响力。所以权力并不一定在领导和下属之间才会出现,有时候平级之间,甚至下属对于上司都可能存在。 3、强制性权力 这种权力是建立在惧怕的基础之上,也就是说,作为下属如果不服从领导,领导就可以惩罚、处分、批评下属。因为你是领导,你是长官,你要有好的执行力,你有这个权力,那么这种权力就叫强制性权力。在企业中领导可以解雇一个员会非常在乎你,尤其是这份工作是他所希望的工作时。所以在这个时候,上司对于下属就有这种强制性的权力。

JavaScript面向对象简介

JavaScript面向对象简介 JavaScript 的核心是支持面向对象的,同时它也提供了强大灵活的OOP 语言能力。本文从对面向对象编程的介绍开始,带您探索JavaScript 的对象模型,最后描述 JavaScript 当中面向对象编程的一些概念。 复习JavaScript 如果您对JavaScript 的概念(如变量、类型、方法和作用域等)缺乏自信,您可以在重新介绍JavaScript这篇文章里学习这些概念。您也可以查阅这篇JavaScript 1.5 核心指南。 面向对象编程 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式。它使用先前建立的范例,包括模块化,多态和封装几种技术。今天,许多流行的编程语言(如Java,JavaScript,C#,C+ +,Python,PHP,Ruby 和Objective-C)都支持面向对象编程(OOP)。 面向对象编程可以看作是使用一系列对象相互协作的软件设计,相对于传统观念,一个程序只是一些函数的集合,或简单的计算机指令列表。在OOP中,每个对象能够接收邮件,处理数据和发送消息给其他对象。每个对象都可以被看作是一个独立的小机器有不同的作用和责任。 面向对象程序设计的目的是促进更好的编程灵活性和可维护性,并在大型软件工程中广为流行。凭借其十分注重的模块化,面向对象的代码开发更简单,往后维护更容易理解,使其自身能更直接的分析,编码,理解复杂的情况和过程,比非模块化编程方法省事。1

术语 Namespace 命名空间 允许开发人员在一个专用的名称下捆绑所有功能代码的容器。 Class 类 定义对象的特征。 Object 对象 类的一个实例。 Property 属性 对象的特征,比如颜色。 Method 方法 对象的能力,比如行走。 Constructor 构造函数 实例化时调用的函数。 Inheritance 继承 一个类可以继承另一个类的特征。 Encapsulation 封装 类定义了对象的特征,方法只定义了方法如何执行。 Abstraction 抽象 结合复杂的继承,方法,属性,一个对象能够模拟现实的模型。 Polymorphism 多态 多意为‘许多’,态意为‘形态’。不同类可以定义相同的方法或属性。更多关于面向对象编程的描述,请参照维基百科的面向对象编程。 原型编程

JavaScript复习题

复习题1 一、选择题 1、写“Hello World”的正确javascript语法是 A. ("Hello World") B. "Hello World" C. ("Hello World") D. ("Hello World") 2、JS特性不包括( ) A.解释性 B.用于客户端 C.基于对象 D.面向对象 3、下列JS的判断语句中( )是正确的 (i==0)(i=0) i==0 then i=0 then 4、下列JavaScript的循环语句中( )是正确的 (i<10;i++) (i=0;i<10) i=1 to 10 (i=0;i<=10;i++) 5、下列的哪一个表达式将返回假 A.!(3<=1) B.(4>=4)&&(5<=2) C.(“a”==”a”)&&(“c”!=”d”) D.(2<3)||(3<2) 6、下列选项中,( )不是网页中的事件 7、有语句“var x=0;while(____) x+=2;”,要使while循环体执行10次,空白处的循环判定式应写为: A.x<10 B. x<=10 <20 <=20 8、JS语句 var a1=10; var a2=20; alert(“a1+a2=”+a1+a2) 将显示( )结果 +a2=30 +a2=1020+a2=a1+a2 9、将字串s中的所有字母变为小写字母的方法是( ) 、以下( )表达式产生一个0~7之间(含0,7)的随机整数. . floor()*8) 11、产生当前日期的方法是( ) (); () Date() Now() 12、如果想在网页显示后,动态地改变网页的标题( ) A.是不可能的 B.通过(“新的标题内容”) C. 通过=(“新的标题内容”) D. 通过(“新的标题内容”) 13、某网页中有一个窗体对象,其名称是mainForm,该窗体对象的第一个元素是按钮,其名称是myButton,表述该按钮对象的方法是()

如何用好手中的权力

如何用好手中的权力 李真理 各级领导干部手中都有或大或小的权力,在物欲横流处处充满诱惑的现实中,怎样用好手中的权力,是对每一位党员干部党性的考验。下面就此谈点粗浅看法: 首先,要“干净”用权。“干净”是每位领导干部行使权力的前提。“干净”不是指外表穿着,而是指其“官德”。思想上不追求物质满足,常思贪欲之害,常弃非分之想,常修为官之德,任何情况下心装群众,心系工作。行动上,做到自重,自省,自警,自励,耐得住寂寞,经得起诱惑,守得住清贫,不贪不占,不把手中的权力作为谋私工具,捞取好处的方便之门。用形象又含蓄的话来说,就是嘴、舌要“干净”,眼、耳要“干净”,肠胃要“干净”,手、脚要“干净”。总而言之,要清清廉廉,一心为民。只有做到“干净”,权力的行驶才不越轨,不走样。 其次,要正确用权。权力具有两面性,能否正确对待会有不同的结果。正确对待权力,能使人成功,歪曲对待权力,会使人腐败。客观地讲,权力的力量是无穷无尽的。一个人一旦拥有权力,用权得当,用到正处,就如虎添翼,在人生的道路上走向成功。如领导干部孔繁森、张鸣岐等,把党和人民赋予的权力当作使命,当作责任和义务,当作压力和动力,当作施展自己才干的“翅膀”,把用权看成是为人民干事,把追求放在权力的责任上,扑下身子,一门心思干事创业,扎扎实实为民做好事,办实事,以自己的作为赢得了群众的拥护。可见,用好权,能给人力量,助人成功。然而,有的人一旦拥有权力,便把权力个人化、私有化、商品化、玩弄权术,为所欲为,崇尚“有权不用过期作废”,一朝权在手,就把钱来捞,利用手中的权力,大搞权钱交易、权

色交易、权权交易,最终落个身败名裂,引来杀身之祸。成克杰、胡长清等就如此类。实践证明,权力是对每一位领导干部的一个严峻考验,只有摆正权力与党纪的关系,做到权重不忘责任大,位高不移公仆心,切实把党和人民赋予的权力当作为民干事,为民服务的有利条件,在人民群众中树立良好的形象,才能实现个人成功进步与权威的完美统一。 第三、要“科学”用权。权力能“增值”也能“贬值”,会用、善用者权力能越用越大;不善用,用不好,权力就会越用越小。许多领导干部珍惜党和人民赋予的权力,善于用好手中权力,问计于民,集思广益,充分发扬民主,科学决策,创造性地贯彻党的路线、方针、政策,扎扎实实干事,出了实绩,造福于民众,赢得了群众信任和支持。这种有为有绩的用权,群众拥护,组织认可,权力自然“增值”。相反,个别领导干部不善于用权,权力的作用发挥不好,虽居位多年,山河依旧,政绩平平,不但不成事,还败事,让百姓贫困,威从哪儿来?党和人民肯定不再给权,即使权还暂握,群众不听,有令不从,权自然会贬值。因此,权力大小不是一成不变的,关键看怎么用。要做到善于用权,树立正确的权力观,时刻不忘当官就是责任,为官一任,造福一方,把心思用在想事上,工作上,要干事,还要干成事,最终目的要落实在多为人民谋利益、办实事上。每位干部都要把手中的权力造福于群众、回报于民,凝聚群众力量,把权威树起来,让权力升值。 第四、要慎重用权。权能福泽百姓,也可殃及一方。权力的内在要求就是用权为民,福泽百姓,这是领导责任所在。许多领导干部能正确认识权力的力量,善于把权力用在为民办实事、做好事、兴利于民上,带领群众艰苦创业,脱贫致富奔小康,但也不容否认,权力一经扭曲,就会祸害无穷。这并非危言耸听,在

基于对象的JavaScript语言

基于对象的JavaScript语言 一、对象的基本结构 JavaScript中的对象是由属性(properties)和方法(methods)两个基本的元素的构成的。属性是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;方法是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。 二、引用对象的途径 一个对象要真正地被使用,可采用以下几种方式获得: 1、引用JavaScript内部对象;this window 2、由浏览器环境中提供;https://www.doczj.com/doc/e86941023.html, 3、创建新对象。new 这就是说一个对象在被引用之前,这个对象必须存在,否则引用将毫无意义,而出现错误信息。 三、有关对象操作语句 1、For...in语句 格式如下:For(对象属性名in 已知对象名) 说明:该功能是用于对已知对象的所有属性进行操作的循环控制。它是将一个已知对象的所有属性反复置给一个变量;而不是使用计数器来实现的。它的优点是无需知道对象中属性的个数即可进行操作。 2、with语句 使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。with object{ ...} 所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。 3、this关键字 this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。 4、New运算符可以创建一个新的对象 格式:

Javascript鼠标触发事件大全

Javascript鼠标事件大全 一般事件 事件浏览器支持描述 onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick IE4|N4|O 鼠标双击事件onMouseDown IE4|N4|O 鼠标上的按钮被按下了onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件 onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件 onMouseMove IE4|N4|O 鼠标移动时触发的事件 onMouseOut IE4|N3|O3 当鼠标离开某对象范围时触发的事件 onKeyPress IE4|N4|O 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象] onKeyDown IE4|N4|O 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] onKeyUp IE4|N4|O 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] 页面相关事件 事件浏览器支持描述 onAbort IE4|N3|O 图片在下载时被用户中断 onBeforeUnload IE4|N|O 当前页面的内容将要被改变时触发的事件 onError IE4|N3|O 捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误 onLoad IE3|N2|O3 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成 onMove IE|N4|O 浏览器的窗口被移动时触发的事件onResize IE4|N4|O 当浏览器的窗口大小被改变时触发

JavaScript面向对象编程(最终版)

JavaScript面向对象编程 1、引言 JavaScript是一种解释性的,基于对象的脚本语言(an interpreted, object-based scripting language)。JavaScript 基于客户端运行,目前基本上所有的浏览器都支持JavaScript。1995年首次出现时,JavaScript的主要目的还只是处理一些输入的有效性验证,随着互联网的蓬勃发展,JavaScript的应用越来越广泛,特别是近几年AJAX技术(Asynchronous JavaScript and XML)的发展,更使JavaScript的应用达到了一个新的高度。在AJAX技术中,JavaScript是一项关键技术,请求的发送、接收、接收数据后的界面处理都需要使用JavaScript技术,这对JavaScript语言提出了新的需求,本文从JavaScript的基本特点出发,模拟出了面向对象编程的大部分特点,使JavaScript摆脱了以往脚本语言杂乱无章、难以阅读、难以维护的形象,而具有了面向对象特性,极大的方便了JavaScript的开发、维护,提高了软件开发效率。 2、JavaScript的基本特点 JavaScript是解释性的,基于对象的脚本语言。它有下面几个显著特点,这几个特点在后面的面向对象特性模拟中会反复用到,因此这里先详细说明这几个特点。 解释型语言:JavaScript是一种解释性语言,解释性语言相对于编译型语言,编译型语言必须先通过编译才能执行,而解释性语言不需要编 译,直接从上到下解释执行,一边解释一边执行,这就决定了解释性语 言的代码是有先后顺序的,需要执行的代码必须已经解释过。因此, JavaScript需要注意代码的先后顺序。

javascript键盘事件

主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup。 在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级。这里所谓的高级是指,当用户按下shift + 1时,keypress是对这个按键事件进行解析后返回一个可打印的“!”字符,而keydown和keyup只是记录了shift + 1这个事件。[1] 但是keypress只能针对一些可以打印出来的字符有效,而对于功能按键,如F1-F12、Backspace、Enter、Escape、PageUP、PageDown和箭头方向等,就不会产生keypress事件,但是可以产生keydown和keyup事件。然而在FireFox中,功能按键是可以产生keypress 事件的。 传递给keydown、keypress和keyup事件句柄的事件对象有一些通用的属性。如果Alt、Ctrl 或Shift和一个按键一起按下,这通过事件的altKey、ctrlKey和shiftKey属性表示,这些属性在FireFox和IE中是通用的。 第二部分:兼容浏览器 凡是涉及浏览器的js,就都要考虑浏览器兼容的问题。 目前常用的浏览器主要有基于IE和基于Mozilla两大类。Maxthon是基于IE内核的,而FireFox和Opera是基于Mozilla内核的。 2.1 事件的初始化 首先需要了解的是如何初始化该事件,基本语句如下: function keyDown(){} document.onkeydown = keyDown; 当浏览器读到这个语句时,无论按下键盘上的哪个键,都将呼叫KeyDown()函数。 2.2 FireFox和Opera的实现方法 FireFox和Opera等程序实现要比IE麻烦,所以这里先描述一下。 keyDown()函数有一个隐藏的变量--一般的,我们使用字母“e”来表示这个变量。 function keyDown(e) 变量e表示发生击键事件,寻找是哪个键被按下,要使用which这个属性: e.which

社科中文工具书教案

社科中文工具书教案 第一章工具书概述 第一节工具书的含义、特点、类型和功用 1、工具书的含义 指根据一定的社会需要,以特定的编排形式和检索方法,广泛汇集某一方面的知识或资料,专供人们迅速查阅的特定类型的图书。例如,新华字典、康熙字典、现代汉语词典、辞海、辞源等。 2、工具书的特点由定义可知: 1)易检性 2)总括性 3)查考性 3、工具书的类型 1)中文工具书和外文工具书(文种) 2)社会科学工具书和科技工具书(学科内容) 3)古代工具书和现代工具书(编纂时代) 4)字典、词典、百科全书、类书、政书、丛书、年鉴、手册、目录、索引、文摘、表谱、图录等(从功用特点) 4、工具书的功用 主要体现在学习和工作中,具体功用体现在下面几个方面: 1)解释疑难问题(最基本) 2)指引读书的门径(目录) 3)提供资料线索和学术信息(研究问题,索引) 4)提供各种学科的基本知识(百科全书) 5、工具书的局限 也有查检不到的地方,内容也并不是都正确等(由于时代和个人水平)。所以,使用过程中就要有分析和鉴别。 参考书目:《社科中文工具书使用》邓宗荣《辞书概要》陈炳迢 《中国字典史略》刘叶秋《史籍举要》柴德赓

第二节工具书排检法和四角号码法 1、工具书排检法 排检法是工具书编排与检索方法的简称。编排与检索的关系 排检法的分类(看图示): 排检法大致有这么几种:字序法、分类法、主题法、时序法、地序法等。 字序法:最常见,所以重点介绍它。它分形序法、音序法、号码法。 形序法:部首法、笔画法、起笔笔画法 音序法:汉语拼音字母法、注音字母法、 韵目法(又分韵母法、声母顺序法) 号码法:四角号码法、中国字庋撷法 方法虽然多但是最常用的有部首法、音序法、号码法、笔画法。下面介绍一下四角号码法。 2、四角号码法 主要介绍以下内容: 1)概述 2)使用方法 3)歌诀 此查字法把汉字笔形分为十种,分别用0到9十个号码代表: 四角号码法使用歌诀:横一垂二三点捺,叉四插五方框六, 七角八八九是小,点下有横变零头。

结合上述案例谈谈如何正确理解和对待领导者的权力

结合上述案例谈谈如何正确理解和对待领导者的权力 领导权力是指领导者的职位权力,是领导者在特定的组织里因占有领导职位而形成的权力,是领导者为实现组织目标在实施领导的过程中对被领导者施行的强制性支配和控制力量。 领导权威与领导人及其意图是否得到被领导者的认同直接相关。一般地说来,被领导者的认同是权威合法化的最终基础,接受和服从是领导权威的先决条件,所以领导权威是被领导者对领导者权力运用情况的反映。领导者要提升领导权威,充分得到被领导者的拥护和支持,必须努力提高自己的自然影响力,合理地使用强制性影响力,使强制性影响力和非强制性影响力有机结合和统一,并努力扩大与增强非强制性影响力。领导权力是领导权威较高的一种境界,是被领导者对领导者心悦诚服地自觉拥护、配合与服从,对领导者所组织、指挥的活动的积极愉快地参与。结合周恩来的人格力量这一案例中,体现周恩来领导的成功之处,如何运用其领导权力,让人民更坚定地追随他,拥护他。 周恩来总理的完美道德在几十年革命生涯中如清泉流水自然流淌,让人不能不受其影响。他对他所献身的共产主义事业的忠诚与坚定,他对祖国的热爱与深情,他对人民“甘为孺子牛”的态度与胸襟,他对同志的关爱与宽容,他对自己近乎苛刻的无私与严格,他毕身不忘带头加强世界观改造的自重与自省,他忍辱负重、相忍为党大海般的心胸与气度,…… 作为一个领导者,怎样对待权力,正确对待权力,真正为人民掌好权、用好权,对于全面加强党的建设具有重要的指导意义。 1.民主原则。领导权力属于人民,来自人民。人民群众可以直接或间接地授予领导者以一定的权力,也可以因其不称职而收回这种权力。领导者在行使权力的过程中要善于自觉地倾听、了解人民群众的意愿、建议和意见。 2.为民原则。领导者是代表人民掌握和行使权力的,只能运用权力全心全意为人民谋利益,而不能用来谋取私利或达到任何个人目的。 3.合法原则。特权力的各个方面、各个环节、各种内容都用法律和制度加以明确规定,使权力的设置、运行和操作有法可依,有章可循。领导者只在法律和制度允许的范围和程度之内运用权力。 4.适时原则。就是把握住行使权力的时机。时机是社会活动过程中普遍存在的现象,能否善于抓住时机,直接影响权力实施的效果。 所以,衡量一个领导者是否能正确使用权力,首先要看他的发展思路,发展观念是否能与发展趋势相符合,这要接受历史的考验。第二,他的思想能否被群众理解,只有被群众理解,才能得到认可和支持。第三,不能做愧对于后人的罪人,有些领导者只顾当前利益,而给社会,给后人留下千古遗憾。第四,还体现在用人方面,是选用德才兼备的人,还是选用能说不能干的人,是对事业负责还是对关系负责。一定要时刻牢记,权力是人民给予的,要牢固树立为人民服务的长远意识。 周恩来的领导魅力,不仅因为他卓越的领导才干,而且是因为他的人格力量。

如何判断Javascript对象是否为空

如何判断Javascript对象是否存在 Javascript语言的设计不够严谨,很多地方一不小心就会出错。 举例来说,请考虑以下情况。 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别。 第一种写法 根据直觉,你可能觉得可以这样写: if (!myObj) {

myObj = { }; } 但是,运行这段代码,浏览器会直接抛出ReferenceError错误,导致运行中断。请问错在哪里? 对了,if语句判断myObj是否为空时,这个变量还不存在,所以才会报错。改成下面这样,就能正确运行了。 if (!myObj) { var myObj = { }; } 为什么加了一个var以后,就不报错了?难道这种情况下,if语句做判断时,myObj 就已经存在了吗? 要回答这个问题,就必须知道Javascript解释器的工作方式。Javascript语言是"先解析,后运行",解析时就已经完成了变量声明,所以上面的代码实际等同于:var myObj; if (!myObj) { var myObj = { };

因此,if语句做判断时,myObj确实已经存在了,所以就不报错了。这就是var 命令的"代码提升"(hoisting)作用。Javascript解释器,只"提升"var命令定义的变量,对不使用var命令、直接赋值的变量不起作用,这就是为什么不加var会报错的原因。 第二种写法 除了var命令,还可以有另一种改写,也能得到正确的结果: if (!window.myObj) { myObj = { }; } window是javascript的顶层对象,所有的全局变量都是它的属性。所以,判断myobj是否为空,等同于判断window对象是否有myobj属性,这样就可以避免因为myObj没有定义而出现ReferenceError错误。不过,从代码的规范性考虑,最好还是对第二行加上var: if (!window.myObj) { var myObj = { };

JavaScript试题集

.单选题 1. 我们可以在下列哪个HTML元素中放置javascript代码? A.< script > B.< javascript > C.< js > D.< scripting > ★标准答案:A 2. 预测以下代码片段的输出结果: var str ; alert(typeof str); A.. string ; B.. undefined; C.. object ; D.. String; ★标准答案:B 3. 下列哪个不是Javascript中注释的正确写法:() A.< !-- …… -- > B. *……*/ D. /* …… */ ★标准答案:A 4. 以下哪项不属于Javascript的特征? 是一种脚本语言 是事件驱动的 代码需要编译以后才能执行

是独立于平台的 ★标准答案:C 5. 关于以下两个陈述的描述中,正确的是:() 陈述1:Javascript是弱类型语言 陈述2:Javascript的常用类型包括:int、string、boolean A.陈述1正确,陈述2错误 B.陈述1错误,陈述2正确 C.两个陈述都正确 D.两个陈述都错误 ★标准答案:A 6. 阅读下面的JavaScript代码: < HTML > < BODY > < SCRIPT LANGUAGE="JavaScript" > function f(y) { var x=y*y; return x; } for(x=0;x< 5;x++) { y=f(x); (y); } < /SCRIPT > < /BODY > < /HTML > 输出结果是()。 1 2 3 4 1 4 9 16 1 4 9 16 25 D.以上答案都不对 ★标准答案:B 7. 在Javascript中,需要声明一个整数类型的变量num,以下哪个语句能实现上述要求? num;

四川大学工具书使用第二次作业答案

四川大学网上《工具书使用》第二作业 《二十五史纪传人名索引》收录《二十四史》和()中有纪传的人名. ( B ) 《汉书》 《清史稿》 《宋史》 《明史》 历表可用于查考历史年代、历史纪元和()。 ( B ) 查考历史大事 查考换算不同历法的年、月、日 查考地理沿革 查考人物生卒年 《经传释词》的作者是( )。 ( C ) 阮元 刘淇 王引之 杨树达 从著录内容上看,地名录比地名词典()。 ( C ) 丰富全面 收录地名少 简明扼要 收录旧地名 主题法的显著特点在于直接性、()和集中性。 ( D ) 系统性 快捷性 易用性 专指性 我国第一部语源词典为()。 ( B ) 《尔雅》 《释名》 《说文解字》 《正字通》 查近期出版和正在出版的图书,可利用()。 ( D ) 《全国总书目》 《全国新书目》 《中国国家书目》 《新华书目报》 《中国大百科全书》的《总索引》是按()并辅之以汉字笔画、起笔笔形顺序排列的。 ( A ) 汉语拼音字母 部首 四角号码 时序法 图录包括地图和()。 ( C )

交通图 航海图 历史图录 世界图 “固”字的四角号码是()。 ( D ) 7760 6000 2760 6060 年鉴按其表述手段可分为综述性年鉴和()。 ( D ) 综合性年鉴 地方年鉴 国际年鉴 统计性年鉴 书目的三个基本特征是:揭示与描述一批相关图书、描述每种图书的基本特征和()。 ( C ) 揭示内容 揭示范围广 把一定范围的款目按一定的排检法加以组织,以供检索 标明出处 我国最早的词典是()。 ( B ) 《切韵》 《尔雅》 《广韵》 《集韵》 我国最早用“字典”正式命名的字典,是清代张玉书,陈敬延等编的()。 ( D ) 《古汉语常用字字典》 《中华大字典》 《汉语大字典》 《康熙字典》 下列属于类书的是()。 ( C ) 《助字辨略》 《康熙字典》 《古今图书集成》 《永乐大典》 我国第一部按部首编排的字典是()。 ( D ) 《康熙字典》 《字汇》 《辞源》 《说文解字》 下列工具书按音序编排的是()。 ( B ) 《说文解字》 《词诠》 《康熙字典》 《辞通》

正确使用组织赋予权力管理正副职关系论文

正确使用组织赋予权力管理正副职关系论文 编者按:本文主要从当好正职应注意的事项;副职不比正职更轻松;当好副职应注意的事项进行论述。其中,主要包括:正职是帅才,执掌全面,统揽全局,具有明显的自主性特征、目前在各单位里,正职与副职存在矛盾是一个常见现象、谋势不谋事、现行行政领导体制实行的是行政首长负责制、一个组织的架构是以岗位为基础的,岗位分析是最基础的工作、工作分析的最重要结果是职务说明书、善于授权的领导不是事必躬亲,而是强调控制结果、一个组织工作的质量、效率的高低,不仅取决于领导者的素质,而且取决于管理者的素质、副职有两个模糊、副职作用的发挥受到一定的制约、尽职不越权、做事不弄权、独有所长,不长正职所长等,具体请详见。 摘要正职和副职的职位、权力范围、承担的责任和领导人才层次等方面是不同的,处理好正职与副职关系的关键,在于正确使用组织赋予的权力,角色到位,各负其责。 关键词领导管理权力 一个领导班子的成员,因有正职和副职之分,决定了二者的职位、权力范围、承担的责任和领导人才层次等方面是不同的。正职是帅才,执掌全面,统揽全局,具有明显的自主性特征;副职是将才,负责某个方面的具体执行工作,处于被正职领导和领导下属的地位,具有明显的中介性特征。班长只有一个,占多数的总是副职。许多实践表明,搞坏一个单位,往往一把手就够了;而搞好一个单位,靠一个一把手是远远不够的,必须把副职及其下属的积极性充分调动起来。目前在各单位里,正职与副职存在矛盾是一个常见现象,除了是由于全局与局部利益的矛盾、会上决定与临时处置的矛盾、处理功过荣誉不当、认识分歧、权力较量等主观因素外,导致二者矛盾的产生还取决于一个无法回避的客观因素,那就是正职与副职工作内容的不同。正职是做领导工作的,副职是做管理工作的,领导与管理之间天然存在着微妙冲突:领导是做正确的事情,管理是把事情做正确了;领导是让人们去想他想做的事情,管理是让人们去做他想做的事情;领导强调思维变革,管理强调机制延续。当组织运行到一定程度后,原有的成功规范管理往往会成为领导事业发展的最大障碍。因此,正职与副职在工作中容易产生矛盾摩

JavaScript事件

我的记录(JavaScript事件)JavaScript 事件冒泡简介及应用实例 一、什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。 打个比方说:你在地方法院要上诉一件案子,如果地方没有处理此类案件的法院,地方相关部门会帮你继续往上级法院上诉,比如从市级到省级,直至到中央法院,最终使你的案件得以处理。 二、事件冒泡有什么作用 (1)事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。 【集中处理例子】