javascript介绍及如何在html中使用js与jQuery

js是世界上最流行的编程语言,这一点毋庸置疑;它是一种弱类型,动态脚本编程语言,被广泛用于HTML,web技术中。

啰嗦:一直在学后端技术,现在发现js基本上不会用,因为现在不使用jsp做前端页面,所以到处都是js对静态页面的封装,然后实现前后端交互。现在发现js功能真强大啊,可以对页面各种修改,真是前端一个js技术就够了。

其实当我看到一大堆js的页面时,脑子是懵的,完全不知道它该怎么执行,但是他跟其他编程语言也是类似的,有函数,变量等等。好了不废话了。

一、js在HTML中的使用:

1、js可以定义在html的head和body内部,在通过

 
  2.3 立即执行函数: 
  

方式一
(function(){alert(1);}());
方式二
(function(){alert(1);})();
方式三 在前面加运算符,最常见的是!与void
!function(){alert(1);}();
void function(){alert(2);}();

2.4 由于js的window.load方法需要等到DOM全部加载完成以后才执行,它是一种最严谨的页面加载完在执行方法的方法,jQuery是对js的封装和修改,在jQuery中可以通过这方式执行:

//这种方法仅需要加在所有的DOM结构就执行此方法
$(document).ready(function(){
 alert(1);
});
//它的简写形式是
$(function(){
 alert(1);
});	

3、js中的函数执行顺序和回调函数

这个我看到网上说的还是很乱,亲自实验了一下如下:

首先函数定义大体上分了一下两种,一种是定义式函数,一种是赋值式函数

//“定义式”函数定义 
function Fn1(){ 
alert("Hello World!"); 
} 
//“赋值式”函数定义 
var Fn2 = function(){ 
alert("Hello wild!"); 
} 
页面在加载过程中,会对页面上或载入的js文件进行扫描,如果遇到定义式函数,则进行预处理,处理完成后再开始由上之下执行;遇到赋值函数,则只是将函数赋值给一个变量,不进行预处理,待到调用的时候进行处理。如下代码
//“定义式”函数定义 
Fn1(); 
function Fn1(){ 
alert("Hello World!"); 
} //不会出错
//“赋值式”函数定义 
Fn2(); 
var Fn2 = function(){ 
alert("Hello wild!"); 
} //会报找不到这个函数的错误
第二就是内部函数的执行顺序(内部顺序执行)要早于onload的调用




在onload之前显示

最后一个问题就是自执行函数:

特殊情况1、当自执行函数前有赋值式函数,且前面没有函数执行,那么会先执行自执行函数,然后执行前面定义的最后一个赋值式函数,且其它赋值函数都无法调用。

4、js中的对象和属性

js中的对象,全局变量,和方法都会自动变为window的对象,这个大家参考w3c上的学习一下,内容太多,不会就查。http://www.w3school.com.cn/jsref/index.asp

二、jQuery的使用:

我们都知道js功能强大但是实现起来复杂,程序员都是比较懒的,我们都想拿过来直接用的方法,因此便有了封装了js的一些框架,jQuery便是比较流行的用java都用jQuery。(当然在jQuery中所有js方法都可以使用)

1、我们通过在HTML前面引入一个jquery.min.js的文件就可以在下面的js中写jquery代码了;

2、jQuery封装的方法如选择器的使用,等等操作请参考http://www.jb51.net/shouce/jquery1.82/

3、js中如何创建自定对象在这说一下吧,做个结尾

首先说一下局部变量和全局变量:

var 不一定是用来定义局部变量的
jscript的全局变量和局部变量的分界是这样的:
过程体(包括方法function,对象Object o ={})外的所有变量不管你有没有加var保留字,他都是全局变量          
而在过程体内(包括方法function(){},对象Object o={})内的对象加var保留字则为局部变量,而不加var保留字即为全局变量
这解释很清晰吧。

我们可以通过下面三种方式创建对象:

自变量声明:
var obj = {
  k1:value1,//属性;
  k2:value,
  func: function(){};//方法
 }
对象中的键,可以使任何数据类型,但一般用作普通变量名(不需要"")即可。
对象中的值,可以使任何数据类型,但,字符串的话必须用""包裹
多组建值对之间用英文逗号分隔,键值对的键与值之间用英文冒号分隔;

new关键字 
var list = new Object();
lisi.name = "李四";
lisi.say = function(){
console.log("我是"+this.name);
 }

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
直接通过函数构造,也算是new的一种
var student = new person("张三","小明","18","block");
最后我们如何读取对象中属性和方法呢?

1、运算符:如果在对象内部: this.属性名。this.方法名();

               在对象外部: 对象名.属性名。 对象名.方法名();

2、通过  ["key"] 调用,对象名["属性名"]     对象名["方法名"]();

提示:如果key中包含特殊字符,则无法使用第一种方式,必须使用第二种;

  对象内部写变量名默认为全局变量,所以要调用自身对象的属性必须用this关键字

最后、删除对象中的属性或方法:

delete 对象名.属性名; delete 对象名.方法名();


现在开始看项目,以上纯属新手的一点总结,如有纰漏还请指教。

万丈高楼拔地起,一入此门深似海。













你可能感兴趣的:(js)