Javascript学习总结

http://www.w3cschool.cc/js/js-tutorial.html

(1)javascript是web编程语言的一种,是一种脚本语言。

(2)javascript脚本必须位于标签中,脚本可以位于head和body中。

对于外部引用的js文件,引用语句:

(3)javascript输出:

document.getElementById("demo").innerHTML = "段落已修改。";  //修改指定id元素的网页内容



console.log(c) //用于浏览器调试


(4)javascript变量类型

var length = 16;                                  // Number 通过数字字面量赋值 

var points = x * 10;                              // Number 通过表达式字面量赋值

var lastName = "Johnson";                         // String 通过字符串字面量赋值

var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值

var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值


(5)在javascript中可以通过\来隔开字符串。

您可以在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示:

document.write("你好 \

世界!");


(6)javascript中可以同时声明赋值多个变量:var a = 1, b = 2;

(7)javascript中声明的无值的变量,其值是undefined。

(8)


在以下两条语句执行后,变量 carname 的值依然是 "Volvo":

var carname="Volvo"; 

var carname;



(9)javascript中拥有动态类型,这意味着相同的变量可以有不同的类型。

var x;  x = 5; x = "hello";


(10)javascript中数组的多种声明方式。

var array = new Array();

array[0] = "1";


var array  = new Array("1",2);


var array = ["1",2];


(11) javascript中的对象声明方式:

var person={firstname:"John", lastname:"Doe", id:5566};

获取对象中数值的方式:

person.lastname;

person["lastname"]


(12) 通过将变量赋值为null,就可以清楚变量数据,将其变为undefined


(13)创建javascript对象,并且调用其中的方法:


myForm" action="demo-form.php" οnsubmit="return validateForm()" method="post">

姓: fname">



(26)javascript中json字符串的转换问题。直接调用现有的方法就可以实现json字符串的转换。


(27)javascript:void(0)表示调用一个函数,但是不反悔任何内容。

点我!


href="#"与href="javascript:void(0)"的区别

# 包含了一个位置信息,默认的锚是#top 也就是网页的上端。

而javascript:void(0), 仅仅表示一个死链接。



(28)javascript函数的定义以及提升。

函数声明:

function functionName(parameters) {

  执行的代码

}


函数表达式:

var x = function (a, b) {return a * b};


function构造函数,因为函数本身也是对象:

var myFunction = new Function("a", "b", "return a * b");


函数提升(Hoisting) 通过声明式进行函数定义比较好一些

在之前的教程中我们已经了解了 "hoisting(提升)"。

提升(Hoisting)是 JavaScript 默认将当前作用域提升到前面去的的行为。

提升(Hoisting)应用在变量的声明与函数的声明。

因此,函数可以在声明之前调用:

myFunction(5);


function myFunction(y) {

    return y * y;

}

使用表达式定义函数时无法提升



自调用函数:



(29)函数参数的传递

javascript中函数中如果有三个参数,调用的时候如果参数不够,那么其他参数就会默认赋值为undefined

functionName(parameter1, parameter2, parameter3) {

    code to be executed

}


在函数调用的过程中,函数中自带arguments对象,通过该对象可以获取到所有的参数。

JavaScript 函数有个内置的对象 arguments 对象.,argument 对象包含了函数调用的参数数组。通过这种方式你可以很方便的找到最后一个参数的值:

实例

x = findMax(1, 123, 500, 115, 44, 88);


function findMax() {

    var i, max = 0;

    for (i = 0; i < arguments.length; i++) {

        if (arguments[i] > max) {

            max = arguments[i];

        }

    }

    return max;

}


对于函数findMax,它肯定也属于某一对象,该对象可以被全局访问,默认的对象就是网页本身,也就是window。调用window.findMax也是可以的。


(30)函数的闭包问题


var add = (function () {

    var counter = 0;

    return function () {return counter += 1;}

})();

add();

add();

add();

// 计数器为 3



(31)给元素增加事件(同一个元素可以增加多个事件)

element.addEventListener("click", myFunction);

element.addEventListener("click", mySecondFunction);


也可以为window对象增加事件

window.addEventListener("resize", function(){

    document.getElementById("demo").innerHTML = sometext;

});


(32)事件捕获的方式有两种。一种是冒泡,即里面的先搞,外面的再搞。一种是事件捕获,即谁最先被触发,谁先执行。




(33)javascript window对象

浏览器对象模型  BOM   文档对象模型  DOM

所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

全局变量是 window 对象的属性。

全局函数是 window 对象的方法。

甚至 HTML DOM 的 document 也是 window 对象的属性之一:

window.document.getElementById("header");

与此相同:

document.getElementById("header");


window.screen 对象包含有关用户屏幕的信息。

  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度


window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

  • location.hostname 返回 web 主机的域名
  • location.pathname 返回当前页面的路径和文件名
  • location.port 返回 web 主机的端口 (80 或 443)
  • location.protocol 返回所使用的 web 协议(http:// 或 https://)


window.history 对象包含浏览器的历史。

  • history.back() - 与在浏览器点击后退按钮相同
  • history.forward() - 与在浏览器中点击按钮向前相同


window.navigator 对象包含有关访问者浏览器的信息。



(34)javascript计时函数:

window.setInterval("javascript function",milliseconds);

window.setInterval() 方法可以不使用window前缀,直接使用函数setInterval()。

setInterval() 第一个参数是函数(function)。

第二个参数间隔的毫秒数


停止计时:

window.clearInterval(intervalVariable)

window.clearInterval() 方法可以不使用window前缀,直接使用函数clearInterval()。

以上是反复间隔执行。


下面的方式只是执行一次:

window.setTimeout("javascript 函数",毫秒数);

window.clearTimeout(timeoutVariable)



(35)javascript cookie相关


http://www.runoob.com/js/js-cookies.html





你可能感兴趣的:(技术总结)