你看到的感叹号一般是在压缩过的js文件里面,因为在匿名函数调用的时候,通常我们都是用:
(function(){})()
的形式,但也可以使用另一种形式:!function(){}() 前面的!号可以换成-+~等等一元操作符,从而省下了1字节。
意思是当鼠标指向控件时该控件获得焦点,而获得焦点时使控件中的文本被选中。
===表示类型什么的全部相等,!==表示要全部不想等包括类型或者的意思
!!一般用来将后面的表达式转换为布尔型的数据(boolean),因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型
类似的如: a=parseInt("1234") a="1234"+0 //转换为数字 b=1234+"" //转换为字符串 c=someObject.toString() //将对象转换为字符串 其中第1种、第4种为显式转换,2、3为隐式转换 布尔型的转换,javascript约定和c类似,规则为 ·false、undefinded、null、0、"" 为 false ·true、1、"somestring"、[Object] 为 true
"0x" 指明是十六进制("hex") ,^ 是按位异或,&是按位与, | 是按位或,这些都是位运算符,可以使用windows中的计算器来计算,把计算器设置成“科学型”,使用“十六进制”输入fffffff,“Xor”是^,“And”是&,“Or”是|,结果是103,也可以写成一个htm文件用IE看一下结果
onmouseover 当用户将鼠标指针移动到对象内时触发,onfocus 当对象获得焦点时触发,this 指当前对象(标签内) ,focus() 返回指定的控件,select() 返回指定的控件(全选内容,如文本框内的内容)
分号可用也可不用
onmouseover="this.focus()" 或 onmouseover="this.focus()" 结果是一样,onfocus="this.select()" 或 onfocus="select()" 结果是一样的
1、应用场景:判断一个对象是否存在假设有这样一个json对象:
2、通过!或!!把各种类型转换成bool类型的惯例
2.1、对null的"非"返回true
2.2、对undefined的"非"返回true
2.3、对空字符串的"非"返回true
2.4、对非零整型的"非"返回false
2.5、对0的"非"返回true
2.6、对字符串的"非"返回false
2.7、对数组的"非"返回false