js运算符的一些特殊用法

JavaScript034

js运算符的一些特殊用法,第1张

本文集合了了js运算符的一些特殊应用。

js位运行符的运用。

js运算符的使用技巧。

是否包含指定字符:

~

~"str1".indexOf("str2")

str1

被查找的字符串

str2

查找的字符串

如果

str1

不含有

str2

,则返回数字

0

例:

var

str1='abc'

var

str2='a'

if(~str1.indexOf(str2)){

console.log('有'+str2)

//有a

}else{

console.log('无'+str2)

}

取整:

|

num

|

0

num

整数

例:

1.3

|

0

//1

取半:

>>

num

>>

1

num

整数

例:求

50

1/2

50

>>

1

//25

有除号

/

干嘛不用呢?多好呀:

50/2

//25

成长值评级:

||

需求1:

成长值为5是1星;

成长值为10是2星;

成长值为12是3星;

成长值为15是4星;

其他都是0星。

({'5':1,'10':2,'12':3,'15':4}[val]

||

0)

val

成长值。

判断奇偶:

&

num

&

1

num

整数

例:

var

num=3

if

(num

&

1)

{

console.log("num是奇数")

//num是奇数

}

else

{

console.log("num是偶数")

}

交换两个数字的值:

^=

使用位运行符:

var

num1

=

1,

num2

=

2

num1

^=

num2

num2

^=

num1

num1

^=

num2

console.log(num1,num2)

//2

1

使用数组:

var

num1

=

1,

num2

=

2

num1

=

[num2,

num2

=

num1][0]

console.log(num1,num2)

//2

1

2的n次方:

<<

**

1

<<

n-1

使用位运行符:

2的n次方

例:2的3次方:1<<3

//8

使用幂运行符:

个人觉得这个不如直接使用

的方式好。

x的y次方:

x**y

例:2的3次方:2**3

//8

方法比较:

使用

<<

的方式可以支持负数,**

需要用括号否则出错。

使用

**

比较直观,没研究过

<<

方法的任意数的任意次方的规律。

1<<3

//8

2**3

//8

-1<<3

//-8

-2**3

//

报错

-(2**3)

//-8

3<<2

//12

错误

3**2

//9

正确

是否是指定字符串开头:

!

^

!str1.indexOf("str2")

例:

var

str1='abc'

var

str2='a'

if(!str1.indexOf(str2)){

console.log('是开头')

}else{

console.log('不是开头')

}

使用正则方式

/^a/.test('abc')

//a开头,true

/c$/.test('abc')

//c结尾,true

字符串转数字:

+

+str

例:

var

str='123'

typeof(str)

//string

typeof(+str)

//number

转为

Boolean

值:

!!

!!obj

例:

!!'text'

//true

1、一个表达式中如果有减号 (-)、乘号 (*) 或 除号 (/) 等运算符时,JS 引擎在计算之前,会试图将表达式的每个分项转化为 Number 类型(使用 Number(x) 做转换)。如果转换失败,表达式将返回 NaN 。如果其中有一个变量是字符串,则会将两边都作为字符串相加。

2、一元加操作符也可以实现与 Number 相同的作用。

+'12abc'// NaN

+'123'// 123

3、现在分析 'b'+'a'+ +'a'+'a'

上面的表达式相当于'b'+'a'+ (+'a')+'a'

因为(+'a')   等于 NaN,所以:

'b'+'a'+ (+'a')+'a' = 'b'+'a'+ "NaN"+'a'='baNaNa'

$(window).keydown(function(event){

switch(event.keyCode) {

// ...

// 不同的按键可以做不同的事情

// 不同的浏览器的keycode不同

// 更多详细信息: http://unixpapa.com/js/key.html

// ...

}

})

keycode 0 =

keycode 1 =

keycode 2 =

keycode 3 =

keycode 4 =

keycode 5 =

keycode 6 =

keycode 7 =

keycode 8 = BackSpace BackSpace

keycode 9 = Tab Tab

keycode 10 =

keycode 11 =

keycode 12 = Clear

keycode 13 = Enter

keycode 14 =

keycode 15 =

keycode 16 = Shift_L

keycode 17 = Control_L

keycode 18 = Alt_L

keycode 19 = Pause

keycode 20 = Caps_Lock

keycode 21 =

keycode 22 =

keycode 23 =

keycode 24 =

keycode 25 =

keycode 26 =

keycode 27 = Escape Escape

keycode 28 =

keycode 29 =

keycode 30 =

keycode 31 =

keycode 32 = space space

keycode 33 = Prior

keycode 34 = Next

keycode 35 = End

keycode 36 = Home

keycode 37 = Left

keycode 38 = Up

keycode 39 = Right

keycode 40 = Down

keycode 41 = Select

keycode 42 = Print

keycode 43 = Execute

keycode 44 =

keycode 45 = Insert

keycode 46 = Delete

keycode 47 = Help

keycode 48 = 0 equal braceright

keycode 49 = 1 exclam onesuperior

keycode 50 = 2 quotedbl twosuperior

keycode 51 = 3 section threesuperior

keycode 52 = 4 dollar

keycode 53 = 5 percent

keycode 54 = 6 ampersand

keycode 55 = 7 slash braceleft

keycode 56 = 8 parenleft bracketleft

keycode 57 = 9 parenright bracketright

keycode 58 =

keycode 59 =

keycode 60 =

keycode 61 =

keycode 62 =

keycode 63 =

keycode 64 =

keycode 65 = a A

keycode 66 = b B

keycode 67 = c C

keycode 68 = d D

keycode 69 = e E EuroSign

keycode 70 = f F

keycode 71 = g G

keycode 72 = h H

keycode 73 = i I

keycode 74 = j J

keycode 75 = k K

keycode 76 = l L

keycode 77 = m M mu

keycode 78 = n N

keycode 79 = o O

keycode 80 = p P

keycode 81 = q Q at

keycode 82 = r R

keycode 83 = s S

keycode 84 = t T

keycode 85 = u U

keycode 86 = v V

keycode 87 = w W

keycode 88 = x X

keycode 89 = y Y

keycode 90 = z Z

keycode 91 =

keycode 92 =

keycode 93 =

keycode 94 =

keycode 95 =

keycode 96 = KP_0 KP_0

keycode 97 = KP_1 KP_1

keycode 98 = KP_2 KP_2

keycode 99 = KP_3 KP_3

keycode 100 = KP_4 KP_4

keycode 101 = KP_5 KP_5

keycode 102 = KP_6 KP_6

keycode 103 = KP_7 KP_7

keycode 104 = KP_8 KP_8

keycode 105 = KP_9 KP_9

keycode 106 = KP_Multiply KP_Multiply

keycode 107 = KP_Add KP_Add

keycode 108 = KP_Separator KP_Separator

keycode 109 = KP_Subtract KP_Subtract

keycode 110 = KP_Decimal KP_Decimal

keycode 111 = KP_Divide KP_Divide

keycode 112 = F1

keycode 113 = F2

keycode 114 = F3

keycode 115 = F4

keycode 116 = F5

keycode 117 = F6

keycode 118 = F7

keycode 119 = F8

keycode 120 = F9

keycode 121 = F10

keycode 122 = F11

keycode 123 = F12

keycode 124 = F13

keycode 125 = F14

keycode 126 = F15

keycode 127 = F16

keycode 128 = F17

keycode 129 = F18

keycode 130 = F19

keycode 131 = F20

keycode 132 = F21

keycode 133 = F22

keycode 134 = F23

keycode 135 = F24

keycode 136 = Num_Lock

keycode 137 = Scroll_Lock

keycode 138 =

keycode 139 =

keycode 140 =

keycode 141 =

keycode 142 =

keycode 143 =

keycode 144 =

keycode 145 =

keycode 146 =

keycode 147 =

keycode 148 =

keycode 149 =

keycode 150 =

keycode 151 =

keycode 152 =

keycode 153 =

keycode 154 =

keycode 155 =

keycode 156 =

keycode 157 =

keycode 158 =

keycode 159 =

keycode 160 =

keycode 161 =

keycode 162 =

keycode 163 =

keycode 164 =

keycode 165 =

keycode 166 =

keycode 167 =

keycode 168 =

keycode 169 =

keycode 170 =

keycode 171 =

keycode 172 =

keycode 173 =

keycode 174 =

keycode 175 =

keycode 176 =

keycode 177 =

keycode 178 =

keycode 179 =

keycode 180 =

keycode 181 =

keycode 182 =

keycode 183 =

keycode 184 =

keycode 185 =

keycode 186 =

keycode 187 = acute grave

keycode 188 = comma semicolon

keycode 189 = minus underscore

keycode 190 = period colon

keycode 191 =

keycode 192 = numbersign apostrophe

keycode 193 =

keycode 194 =

keycode 195 =

keycode 196 =

keycode 197 =

keycode 198 =

keycode 199 =

keycode 200 =

keycode 201 =

keycode 202 =

keycode 203 =

keycode 204 =

keycode 205 =

keycode 206 =

keycode 207 =

keycode 208 =

keycode 209 =

keycode 210 = plusminus hyphen macron

keycode 211 =

keycode 212 = copyright registered

keycode 213 = guillemotleft guillemotright

keycode 214 = masculine ordfeminine

keycode 215 = ae AE

keycode 216 = cent yen

keycode 217 = questiondown exclamdown

keycode 218 = onequarter onehalf threequarters

keycode 219 =

keycode 220 = less greater bar

keycode 221 = plus asterisk asciitilde

keycode 222 =

keycode 223 =

keycode 224 =

keycode 225 =

keycode 226 =

keycode 227 = multiply division

keycode 228 = acircumflex Acircumflex

keycode 229 = ecircumflex Ecircumflex

keycode 230 = icircumflex Icircumflex

keycode 231 = ocircumflex Ocircumflex

keycode 232 = ucircumflex Ucircumflex

keycode 233 = ntilde Ntilde

keycode 234 = yacute Yacute

keycode 235 = oslash Ooblique

keycode 236 = aring Aring

keycode 237 = ccedilla Ccedilla

keycode 238 = thorn THORN

keycode 239 = eth ETH

keycode 240 = diaeresis cedilla currency

keycode 241 = agrave Agrave atilde Atilde

keycode 242 = egrave Egrave

keycode 243 = igrave Igrave

keycode 244 = ograve Ograve otilde Otilde

keycode 245 = ugrave Ugrave

keycode 246 = adiaeresis Adiaeresis

keycode 247 = ediaeresis Ediaeresis

keycode 248 = idiaeresis Idiaeresis

keycode 249 = odiaeresis Odiaeresis

keycode 250 = udiaeresis Udiaeresis

keycode 251 = ssharp question backslash

keycode 252 = asciicircum degree

keycode 253 = 3 sterling

keycode 254 = Mode_switch

键代码

Backspace {BACKSPACE}、{BS} 或 {BKSP}

Break {BREAK}

Caps Lock {CAPSLOCK}

Del 或 Delete {DELETE} 或 {DEL}

向下键{DOWN}

End {END}

Enter {ENTER} 或 ~

Esc {ESC}

Help

{HELP}

Home

{HOME}

Ins 或 Insert

{INSERT} 或 {INS}

向左键

{LEFT}

Num Lock

{NUMLOCK}

Page Down

{PGDN}

Page Up

{PGUP}

Print Screen

{PRTSC}(保留供将来使用)

向右键

{RIGHT}

Scroll Lock

{SCROLLLOCK}

Tab

{TAB}

向上键

{UP}

F1

{F1}

F2

{F2}

F3

{F3}

F4

{F4}

F5

{F5}

F6

{F6}

F7

{F7}

F8

{F8}

F9

{F9}

F10

{F10}

F11

{F11}

F12

{F12}

F13

{F13}

F14

{F14}

F15

{F15}

F16

{F16}

数字键盘加号

{ADD}

数字键盘减号

{SUBTRACT}

数字键盘乘号

{MULTIPLY}

数字键盘除号

{DIVIDE}

若要指定与 Shift、Ctrl 和 Alt 键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。

取余运算符 (%)