JS编程小常识很有用
2024-05-06 14:20:50
供稿:网友
1.JS中的是是非非
JS是一门计算机编程语言,是一门动态语言也称为脚本语言,是解析型编程语言。为什么是脚本?因为他本身不能执行,就是没有main函数或主程序的入口,必须被他的宿主环境,也就是解析环境解析执行他。为是什么是解析型?因为JS不会进行编程,链接,汇编等一系统的过程生成某个文件,再执行,他就是以字符串形式加载执行..
2.JS中的真真假假
空,null,undefined,false,0,””,'',NaN都为假,其他都为真
3.函数,类,对象,构造器有什么区别?
答:在js中函数,类,对象,构造器可以说是没有任何区别的,我们可以说函数既为对象,对象既为类,类既为构造器。但一般情况下,我们称对象为那个类的实例,这是为了减少混乱。
代码如下:
function Person(){
}
var person = new Person();
//Person我们可以称为函数,类,对象,构造器(不带参数)
//person称为对象的引用
4.懂this关键字,你懂JS五分之一.
this永远指向调用该方法(函数)的那个对象.(必背)
首先要知道this是什么?
this就是js中的一个对象。是一个对象,不是一个函数,此是的对象你可以看作是一个对象的引用,引用谁?引用调用方法的那个对象.
this这个对象存在哪里?存在JS代码中,一般存在于函数之中。如果你把this放到<script>标签中,你可以试下window==this,打印什么?为什么?
剖析this关键字
代码如下:
function ready(){
alert(this==window);
}
ready();
此时打什么?true,为什么?
代码如下:
function Person(){
this.name='张三';
alert(this==window);
}
new Person();
此时打印什么?false,为什么?
把代码加长点.加一个var perso=
var person = new Person();
全世界的人都知道person引用了new Person产生的那个对象。new Person创建的是一个JS实例对象,我们就可以绑定属性和方法.
看下面这段代码
代码如下:
fn=function(){
}
fn.ready=function(){
alert(this== fn);
}
当调用fn.ready()的时候打印什么?true ,为什么?
十分奇怪,this现在等于一个函数了..为什么?
5.JS中静态方法和属性将助你一臂之力.
什么是静态.顾名思意:就是不动了,JS中不动的方法是什么?就是不需要创建实例,直接可以通过类名调用方法,哪里都没有动。方法就调用了。不需要任何额外的代码。这只是片面之言。所谓静态:就是属于类的属于类本身的特征.
Js中类既为对象,何不能直接绑定属性和方法。当然可以.
代码如下:
fn=function(){
}
fn.name='张三';
fn.getName=function(){
return fn.name;
}
这也行,但为什么还要new 的过程,全都这样绑定不就可以了吗?思考
6.prototype和constructor的在JS框架中的影响