JS是一种计算机编程语言,是一种动态语言,也称为脚本语言,是一种分析编程语言。需要了解更多
1.JS中的是是非非
JS是一种计算机编程语言,是一种动态语言,也称为脚本语言,是一种分析编程语言。为什么是剧本?因为他自己不能执行,也就是没有主函数或者主程序入口,必须由他的宿主环境,也就是解析环境来解析执行。为什么?什么是分析?因为js无法通过编程、链接、汇编等系统化的流程生成一个文件然后执行,只是以字符串的形式加载并执行.2.JS中的真真假假
空,null,undefined,false,0,"",,nan都是false,其他都是true3.函数,类,对象,构造器有什么区别?
A:在JS中,函数,类,对象都是false。但是一般来说,我们称一个对象为该类的一个实例以减少混淆。复制代码如下:function person(){ } var person=new person();//person我们可以称之为一个函数,一个类,一个对象,一个构造函数(不带参数)//Person被称为一个对象的引用4.懂this关键字,你懂JS五分之一
。这总是指向调用方法(函数)的对象。(必背)一、这是什么?是thisjs中的对象。它是一个对象,不是一个函数。这是一个物体。你可以把它看作一个对象的引用。推荐人是谁?引用该方法的对象。这个物体存在于哪里?存在于JS代码中,一般存在于函数中。如果把这个放在脚本标签里,可以试试window==this。你打印什么?为什么?解析这个关键字复制代码如下:function ready(){ alert(this==window);} ready();这个时候玩什么?真的,为什么?复制代码如下:function Person(){ this.name=张三;alert(this==window);}新人();这个时候打印什么?假的,为什么?让代码更长。添加一个var perso=var Person=new Person();全世界的人都知道,人是指由新人产生的对象。New Person创建一个JS实例对象,所以我们可以绑定属性和方法。看下面的代码复制代码代码如下:fn=function () {} fn。ready=function(){ alert(this==fn);}调用fn.ready()时打印什么?真的,为什么?很奇怪,这现在等于一个函数.为什么?5.JS中静态方法和属性将助你一臂之力
.什么是静态?顾铭李芑:它就是不动。JS中不动的方法是什么?也就是不需要创建实例,直接用类名调用方法就可以了,哪里都不动。方法被调用。不需要额外的代码。这只是片面的说法。静态:指的是类本身的特性。既然类是Js中的对象,为什么不能直接绑定属性和方法?当然可以。复制代码如下:fn=function(){} fn.name=张三;fn . getname=function(){ return fn . name;}这很好,但是您为什么需要新的流程呢?都这样绑着不就可以了吗?把6.prototype和constructor的在JS框架中的影响
原型想成一个原型,是一个对象。构造函数是构造函数,是函数。到目前为止,你必须区分什么时候对象是对象,什么时候对象是函数。JS parser也很难解析和运行这样灵活的代码。Prototype可以说是一个类的静态属性,它指向这个对象的一个实例。换句话说,原型是一个对象。prototype指向的对象和我们的新对象有什么区别?建立了等价的桥关系,但不是相同的桥关系。当我们将属性绑定到原型函数时,属性和值被绑定到原型对象,而不是那个对象。当您需要访问那个对象上的这个属性时,JS parser将首先从对象本身寻找这个属性,然后在原型对象上寻找它。复制代码如下:function person(){ } var person=new person();Person.name="张三";Person.prototype.name="李四";警报(person . name);删除人名;警报(person . name);构造函数指向对象的构造函数。(什么是构造函数?自己去复习。),这表明它是一个对象级属性。也就是说,要使用构造函数属性,您必须需要一个对象。所以原型是一个对象。它有构造函数属性吗?当然,既然constructor指的是构造函数,那么有原型属性吗?是的,当然,以此类推,下面两个代码是正确的。constructor . prototype . constructor . prototype . constructor…prototype . constructor . prototype . constructor . prototype…其实我也不知道能坚持多久。有兴趣可以试试。顺便用递归算法。在很多JS代码中,当我们知道一个对象时,我们会询问它的构造函数,或者我们知道一个构造函数,来找到它的对象。是时候开始了。
7.==和===将判断进行到底
.==和==雕像不一样吗?不用想,一眼就能看出判决是否平等。木头有影响吗?==确定变量是否相等。===确定变量的值相等。以此类推:===是用来做什么的?它用于报告错误。你知道的。这里只想告诉你,只有==和===JS中的变量是弱类型的,他们都知道。复制代码如下:var a=3;var b=" 3alert(a==b);JS中的变量值是强类型的。你知道的。var a=3;var b=" 3alert(a===b);都是var类型的变量,只是取值不同。一个是整数,一个是字符串。和var类型比当然是真的,整数和字符串类型比当然是假的。==用来比较它们的值是否相同。是一种不关心值的类型,只要它们的变量是var类型。当然是扯淡。也许,你还可以声明第二种变量类型的变量?===它用于比较,它将确定它们的值是否属于同一类型。如果没有,就没有比较。JS中的变量值是强类型的,包括shaping、string、number、Boolean。8.typeof和instanceof完成了判断未成的使命
typeof用于判断基本数据类型。instanceof用于判断对象类型是否为某个类型号9.5种继承让你如虎添翼
。一、对象冒充II。应用III。呼叫四号。Prototype V. For circular用法:永远记住JS中的继承只是属性和方法的复制。10.DOM模型结构改变你的思想
DOM是一种思想,一种会学习DOM的方法只需要知道任何一个节点都有一个父节点和0到多个子节点。任何节点在页面上都有一个标签表示,并有一个对应于标签对象的内存。页面只是显示数据的地方,内存是存储DOM对象数据的地方。任何DOM对象只能有一个父节点对象。父子关系随时都可能改变。必须:获取对象:检查对象操作:添加、修复、删除内容操作:innerHTML、innerText等事件操作:鼠标、按键样式操作:id、tag、class属性操作:attribute11.回调函数减少编写代码
什么是回调函数?在JS中,函数名用于标识函数。我们要么传递一个函数名(函数名句柄)给一个函数,然后那个函数会自动调用我们的函数来完成相关的处理。打电话的人和被打电话的人是分开的,我们不需要关心打电话的人和被打电话的人。回调可以用来通知机制、事件。12.函数和arguments
函数名是函数的句柄、指针和函数名,这也使得JS中没有函数重载成为可能。仅功能覆盖。函数名是唯一标识函数的名称。总是访问,JS中的函数调用是在函数名后面加括号(),函数调用的参数可选。在任何情况下,参数都会保存在函数体的arguments对象中,您可以直接使用它。他是一个对象,参数存储在一个数组中。13.闭包(匿名函数)为开发开辟了捷径
闭包是函数内调用函数外的参数,一般也可以称为匿名函数,但两者是不同的。闭包的价值在于它们可以用作函数对象或匿名函数。对于类型系统,这不仅意味着数据,还意味着代码。大多数支持闭包的语言都将函数视为一级对象,即这些函数可以存储在变量中,作为参数传递给其他函数,最重要的是,它们可以由函数动态创建和返回。匿名函数减少了变量名的冲突,为JS提供了没有权限范围的权限范围。当我们需要提供一个接口,但又不希望接口对象是全局变量时,就需要使用匿名函数:(function(){本地代码,除非你提供一个入口,否则外部永远无法访问})();