JavaScript基础理解及技巧(入门)

1.java和JavaScript的区别:

(1)js只需要解释就可以执行了,而java需要先编译成字节码文。JavaScript的运行只需要浏览器的支持,而java的运行需要JVM(java虚拟机)。

(2)JavaScript是弱类型java是强类型。注(java8大类型)整型:byte short int long 浮点型:float double 字符型 char和bool型变量。(string是应用数据类型)

2.JavaScript引用方式:

(1)最常用的直接在head里面加(当然全文都可以加,只不过一般是加在head之中。)

<script type="text/javascript">
</script>

(2)规范化编程,将js文件封装在一个文件夹之中,利用src进行调用。

<script type="text/javascript" src="js/js_demo1.js">
</script>

注:一般在webcontent之下建立js目录,新建js文件的类型是JavaScript Source File。(Ctrl加鼠标点击链接跳入js文件)

3.js变量特点

js中变量可以重复,下面的变量会覆盖上面的变量,变量的类型随着值的类型改变而改变。

4.JavaScript中对象的引用方法和java基本相同。

JavaScript的目的就是为了弥补HTML无法实现动态交互特点而设计的,所以JavaScript中对象基本上和java相同,都能引用对象有的方法,比如:

<script type="text/javascript">
var name='www.baidu.com';
var strsub=name.substring(3,8);
document.write(strsub);
</script>

 5.JavaScript数据类型(undefined,NaN,null):

js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。

未定义的值和定义未赋值的为undefined,null是一种特殊的object,NaN是一种特殊的number。

undefined与null是相等,NaN与任何值都不相等,与自己也不相等。

6.js中数组长度不固定,和java中的集合一样。js中数组不需要指定长度。

7.JavaScript中的方法:

JavaScript中的方法没有重载,如果方法名字相同,后面的方法会把前面的方法覆盖掉。这是因为function是应用变量,而应用变量是存于堆中。方法传递参数时是从左向右赋值,如果调用实参多余形参,也是从左向右,多余的实参遗弃。

8.JavaScript对象创建的私有方法:

一般JavaScript中创建对象

function Person(name,age){
    this.name=name;
    this.age=age;
    this.showInfo=showInfo;
}
var showInfo=function(){
    alert(this.name+"  "+this.age);
}
var person=new Person("zhangsan",23);
person.showInfo();

但是有的情况下showInfo方法不想被其他方法调用,这个时候可以用如下的代码:

function Person(name,age){
    this.name=name;
    this.age=age;
}
Person.prototype.showInfo=function(){//以原型方式来赋值
    alert(this.name+"  "+this.age);
}
var person=new Person("zhangsan",23);
person.showInfo();

 9.window常用对象中的setinterval和setTimeout:

setinterval用于设置时间间隔定时触发事件,而setTimeout用于在指定时间之后触发事件。

10.JavaScript获取dom对象的3种基本方法:

document.getElementById();通过ID获取

document.getElementByName();通过name获取

document.getElementByTagName();通过标签名获取,比如<input> ,<body>等等

注意:因为ID是唯一的。所以只会获取一个对象,而name和tagname都可能会有几个,所以这两个一般会获取很多组成一个数组。

原文地址:https://www.cnblogs.com/ljq2622/p/10234089.html