关于js的一些小知识点

  1. unicode相关:js使用"\u6207"这种方式来表示一个字符,其中"6207"是十六进制的unicode编码。html使用"$#8564;"的形式表示unicode字符,其中"8564"表示十进制的unicode字符。
  2. 对象的属性如果需要使用特殊格式,应这样使用--对象["属性名"],使用这种方式更加灵活。并且属性名可以用变量代替。
  3. 检查某个对象中是否有某个属性---“属性名”in 对象
  4. 函数返回值:
    <!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>
  5. 函数的实参可以是任意类型的数据,当参数过多是,常常把参数封装成对象,当然函数也可以作为函数的形参。同样函数的返回值可以是任意数据类型。
  6. 单独调用匿名函数:--把匿名函数看作一个整体,用()括起来,然后执行。
<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指调用方法的对象。

猜你喜欢

转载自blog.csdn.net/parade0393/article/details/80200145