前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript知识盲区整理

JavaScript知识盲区整理

作者头像
大忽悠爱学习
发布2021-11-15 15:17:27
5170
发布2021-11-15 15:17:27
举报
文章被收录于专栏:c++与qt学习c++与qt学习

JavaScript知识盲区整理


script标签用于引入外部js的注意点

  • 当script标签用于引入外部js文件时,就不能在标签体内部编写代码了,即使编写了浏览器也不会执行。
  • 推荐使用引入外部js的方式来编写js代码
代码语言:javascript
复制
<script type="text/javascript" src="temp.js"></script>
在这里插入图片描述
在这里插入图片描述

JS中严格区分大小写,并且每条语句结尾的分号如果不加,浏览器会自动加,这样会消耗浏览器资源,还容易把分号加错位置


在字符串中我们可以使用\作为转义字符

代码语言:javascript
复制
/* 
 在字符串中我们可以使用\作为转义字符
  当表示一些特殊符号时可以使用\进行转义
  \" 表示 "
  \n 表示换行
  \t 表示制表符
  \\ 表示\
 */
var str="你好\"大忽悠\"";

typeof 用来检查变量类型

代码语言:javascript
复制
var a=123;
var b="大忽悠";
alert(typeof a);
alert(typeof b);
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Number.MAX_VALUE 和 Number.MIN_VALUE获取最大值和最小值,如果自己写的超过最值范围,会返回Infinity

代码语言:javascript
复制
alert(Number.MAX_VALUE);
alert(Number.MIN_VALUE);

当声明一个变量但是不给其赋值时,会返回一个undefined


强制类型转换

在这里插入图片描述
在这里插入图片描述

js的强制类型转换


document.write(): 向Body标签体中写入数据


任何值和字符串相加都会变成字符串

在这里插入图片描述
在这里插入图片描述

本质是调用String()函数


任何值做- * /运算时都会自动转换为Number类型

在这里插入图片描述
在这里插入图片描述

在任何数据类型前使用+和-都可以隐式将其转换为Number类型

例如: 1 + +“2” +3=6

1+ “2”+3=“123”


在网页中使用Unicode编码

&#编码; ==>这里的编码需要的是10进制,unicode是十六进制


JS对象

代码语言:javascript
复制
		//创建对象
      var obj=new dhy();
	  //增加属性
	  obj.name="大忽悠";
	  obj.age=18;
	  // 修改对象的属性
	  obj.name="小朋友";
	  //删除对象属性
	  delete obj.name;

使用[]方式来设置属性名

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
      var obj=new dhy();
     obj["name"]="大忽悠";
	 var chose="name";
	 alert(obj[chose]);

JS对象的属性值可以是任意的数据类型

in运算符—检查对象中是否含有指定属性

在这里插入图片描述
在这里插入图片描述

JS中的对象是引用数据类型,保存在堆上,而基本数据类型存储在栈上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用对象字面量{}来创建对象

在这里插入图片描述
在这里插入图片描述

{}和new的方式,本质上是一样的


使用对象字面量创建对象的时候可以同时指定对象的属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
var obj={
	name:"大忽悠",
	age:18,
	"hobby":健身,//属性名可以加"",也可以不加
	test: {name:123} //属性值是一个对象
};

JS函数–函数也是一个对象

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
		<script type="text/javascript">
       //创建一个函数对象
	   //将需要封装的代码以字符串的形式传递给构造函数
	   var func=new Function("alert(typeof func);");
	   //封装到函数中的代码不会立刻执行,函数中的代码会在函数调用的时候执行
	   //调用语法:函数对象()
	   func();
       //查看func的类型
	   alert(typeof func);
		</script>
在这里插入图片描述
在这里插入图片描述

使用函数声明来创建一个函数对象

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
  function f1(){
	  alert("大忽悠");
  }
  //调用函数
  f1();

使用函数表达式来创建一个函数

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
  var f1=function (){
	  alert("大忽悠");
  }
  //调用匿名函数
f1();

创建一个匿名函数,将这个匿名函数对象赋值给一个变量


函数形参相关注意点

在这里插入图片描述
在这里插入图片描述

函数实参可以是一个对象,JS函数也是一个对象,也可以作为函数实参传递

函数返回值可以是任意数据,可以是一个对象===》包括函数对象

立即执行函数

在这里插入图片描述
在这里插入图片描述

对象的属性值如果是一个方法,那么称这个属性为方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

for…in语句枚举对象中的属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
           var peo={
			   name:"大忽悠",
			   age:18
		   }
		   for( var attr in peo)
		   {
			   document.write(peo[attr]);
		   }

[]才可以传递变量,.不行

在这里插入图片描述
在这里插入图片描述

作用域

全局作用域

全局对象window,全局作用域中所有变量都是其属性,所有函数都是其方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

var关键字声明的变量会在所有代码执行之前被声明

在这里插入图片描述
在这里插入图片描述

函数声明提前

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
       f1();//没得问题
		  //函数声明形式
		   function f1()
		   {
			   
		   }
		   f2();//错误
		   //函数表达式形式,即匿名函数
		   var f2=function ()
		   {
			   
		   }

函数作用域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在函数中,不使用var声明的变量会变成全局变量

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
      d=100;
	alert(d);
在这里插入图片描述
在这里插入图片描述

this

在这里插入图片描述
在这里插入图片描述

window是一个全局对象,其实就是相当于那个对象调用这个函数,那么这个函数里面的隐式参数this就是当前调用这个函数的对象


使用工厂方法创建对象

代码语言:javascript
复制
        var CreatePeo=function(name,age){
			var obj={
				name:name,
				age:age
			};
			return obj;
		};
		var p1=CreatePeo("大忽悠1",18);
		var p2=CreatePeo("大忽悠2",19);
		var p3=CreatePeo("大忽悠3",20);

构造函数

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
function People()
{
  name="大忽悠";//全局变量name
  this.name="大忽悠";//当前新建对象的属性name
}
var people=new People();

可以使用instanceof检查一个对象是否是一个类的实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

this的三种情况

在这里插入图片描述
在这里插入图片描述

原型对象

对于通过构造函数创建的对象而言,每一次创建,里面的所有变量和对象(函数对象)都会重新创建一遍,那么这样会很浪费空间

通过将该类构造方法下创建的所有对象的公共的属性和方法,统一添加到原型对象中,完成对资源的节约

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
function People()
{
  this.name="大忽悠";
}
//设置原型对象的属性
People.prototype.age=18;
var p=new People();
alert(p.age);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tostring—类似java,可以重写

如果只重写当前对象的tostring方法,那么只对当前对象起效

在这里插入图片描述
在这里插入图片描述

如果修改当前原型的tostring,那么对当前构造函数创建的对象都有效

在这里插入图片描述
在这里插入图片描述

垃圾回收

在这里插入图片描述
在这里插入图片描述

数组(Array)----数组也是一个对象

在这里插入图片描述
在这里插入图片描述

使用typeof检查一个数组,会返回object


代码语言:javascript
复制
       //创建数组对象
		 var arr=new Array();
		 //向数组中添加元素
		 arr[0]=123;
		 //获取数组中的元素
		 alert(arr[0]);
		 //获取数组长度
		 var len=arr.length;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

字面量[]创建数组时可以同时指定元素

在这里插入图片描述
在这里插入图片描述

构造函数创建数组时也可以指定元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组里面的元素可以是任意数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组对象的foreach方法—需要一个函数作为参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

slice和splice方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三个参数开始的新元素,用来替换删除掉的元素


concat方法

在这里插入图片描述
在这里插入图片描述

join方法

在这里插入图片描述
在这里插入图片描述

reverse方法

在这里插入图片描述
在这里插入图片描述

sort方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数对象的call和apply方法----执行函数,修改函数执行时的this指向的对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

this的四种情况

在这里插入图片描述
在这里插入图片描述

arguments,即使不定义形参,也可以通过arguments获取到形参

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

包装类----解析器临时转换作用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

正则表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字面量创建正则表达式

在这里插入图片描述
在这里插入图片描述

JS教程

教程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript知识盲区整理
  • script标签用于引入外部js的注意点
  • JS中严格区分大小写,并且每条语句结尾的分号如果不加,浏览器会自动加,这样会消耗浏览器资源,还容易把分号加错位置
  • 在字符串中我们可以使用\作为转义字符
  • typeof 用来检查变量类型
  • Number.MAX_VALUE 和 Number.MIN_VALUE获取最大值和最小值,如果自己写的超过最值范围,会返回Infinity
  • 当声明一个变量但是不给其赋值时,会返回一个undefined
  • 强制类型转换
  • document.write(): 向Body标签体中写入数据
  • 任何值和字符串相加都会变成字符串
  • 任何值做- * /运算时都会自动转换为Number类型
  • 在网页中使用Unicode编码
  • JS对象
    • 使用[]方式来设置属性名
      • JS对象的属性值可以是任意的数据类型
        • in运算符—检查对象中是否含有指定属性
          • JS中的对象是引用数据类型,保存在堆上,而基本数据类型存储在栈上
            • 使用对象字面量{}来创建对象
              • 使用对象字面量创建对象的时候可以同时指定对象的属性
          • JS函数–函数也是一个对象
            • 使用函数声明来创建一个函数对象
              • 使用函数表达式来创建一个函数
                • 函数形参相关注意点
                • 立即执行函数
                • 对象的属性值如果是一个方法,那么称这个属性为方法
                • for…in语句枚举对象中的属性
            • 作用域
              • 全局作用域
                • 全局对象window,全局作用域中所有变量都是其属性,所有函数都是其方法
                  • var关键字声明的变量会在所有代码执行之前被声明
                    • 函数声明提前
                      • 函数作用域
                        • 在函数中,不使用var声明的变量会变成全局变量
                      • this
                        • 使用工厂方法创建对象
                          • 构造函数
                            • 可以使用instanceof检查一个对象是否是一个类的实例
                            • this的三种情况
                            • 原型对象
                        • tostring—类似java,可以重写
                        • 垃圾回收
                        • 数组(Array)----数组也是一个对象
                          • 字面量[]创建数组时可以同时指定元素
                            • 构造函数创建数组时也可以指定元素
                          • 数组里面的元素可以是任意数据类型
                            • 数组对象的foreach方法—需要一个函数作为参数
                              • slice和splice方法
                                • concat方法
                                  • join方法
                                    • reverse方法
                                      • sort方法
                                      • 函数对象的call和apply方法----执行函数,修改函数执行时的this指向的对象
                                      • this的四种情况
                                      • arguments,即使不定义形参,也可以通过arguments获取到形参
                                      • 包装类----解析器临时转换作用
                                      • 正则表达式
                                        • 字面量创建正则表达式
                                        • JS教程
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档