- unicode相关:js使用"\u6207"这种方式来表示一个字符,其中"6207"是十六进制的unicode编码。html使用"$#8564;"的形式表示unicode字符,其中"8564"表示十进制的unicode字符。
- 对象的属性如果需要使用特殊格式,应这样使用--对象["属性名"],使用这种方式更加灵活。并且属性名可以用变量代替。
- 检查某个对象中是否有某个属性---“属性名”in 对象
- 函数返回值:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script> function sum(a,b,c){ var sum = a+b+c; return sum; } var result = sum(4,5,6); console.log(result); </script> </head> <body> </body> </html>
- 函数的实参可以是任意类型的数据,当参数过多是,常常把参数封装成对象,当然函数也可以作为函数的形参。同样函数的返回值可以是任意数据类型。
- 单独调用匿名函数:--把匿名函数看作一个整体,用()括起来,然后执行。
<script> (function(){ console.log("匿名函数"); })(); </script>函数和方法:当函数作为一个属性值时,此时函数称为对象的方法。方法和函数只是名称上的不同。遍历对象中的属性:
for(var n in obj){ console.log(n); } <!--获取属性值 --> for(var n in obj){ console.log(obj[n]); }作用域:全局作用域在在页面打开时创建,在页面关闭时销毁。在全局作用域中有一个全局对象window,--在全局作用域中创建的变量都会作为windows对象的属性--在全局作用域中创建中的函数都会作为window的方法。变量的声明提前:(声明变量时不使用var声明,则变量不会被声明提前)
console.log(a); var a = 3;//会输出undefined //这样写相当于: <!-- var a ; console.log(a); a=3; -->
11.函数的创建提前:使用函数形式声明的函数"function obj(){}"会最先被创建--在所有代码被执行之前。而var obj = function(){}声明的函数不会被提前创建
12.函数作用域:在函数作用域操作一个变量时,会现在自身作用域中查找,找不到则向上一级作用域中查找,直到找到全局作用域为止====在函数中不使用var声明的变量就是全局变量
function(){ a=10;//在函数作用域找不到,就去全局作用域赋值了 } console.log(a); function(e){console.log(e)};--定义形参就相当于在函数作用域中声明了变量
13.js中this的使用:浏览器在在调用函数时每次都会向函数内部传递一个隐含的参数this-----根据函数的调用方式不同,thi会指向 不同对象--以函数的形式调用,this永远是window,以方法调用时,this指调用方法的对象。