Javascript高级程序设计-第一阶段

/*//1、获取逻辑像素

var pageWidth = window.innerWidth;
var pageHeight = window.innerHeight;

console.log("pageWidth:" + pageWidth);
console.log("pageHeight:" + pageHeight);

if (typeof pageWidth != "number") {
    if (document.compaMode === "CSS1Compat") {

    }
}

//2、获取窗口位置
var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX;

var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;

console.log("position left:" + leftPos);
console.log("position top:" + topPos);

//2、 两个比较运算符的却别
console.log("===:" + (null === undefined)); //true
console.log("==:" + (null == undefined)); // false

3、 setTimeout() 应用
var date1 = new Date();

console.log(parseInt(date1.getTime()));

var date2 = new Date();

setTimeout("", 2000);

console.log(parseInt(date2.getTime()));

console.log(date1.getTime() - date2.getTime());

4、 clearTimeout(func, time) 应用

function demo() {
    var date = new Date();
    console.log(date);
}
var t = setInterval(demo, 500);

setTimeout("clearInterval(t)", 3000);

5、 定时器: 所有dom元素渲染完后才开始计时
setTimeout("alert(‘deefe‘)", 3000);

//5、闭包

function createFunction() {
    var result;

    for (var i = 0; i < 10; i++) {
        result[i] = function() {
            result[i].index = i;
            return i;
        }
    }
    console.log(result[0].index);
    return result;
}

function createFunction() {
    var result = new Array();

    for (var i = 0; i < 10; i++) {
        result[i] = function(num) {
            return function() {
                result[i].index = i;
                console.log(i);
                return num;
            };
        }(i);
    }

    return result;
}

console.log(createFunction());

//6、三目运算符
console.log((x > y ? x : y) > z ? (x > y ? x : y) : z);

//7、求最大值
Math.max() 不能传入数组, 只能传入参数列
console.log(max(12, 23, 1));

function max() {
    var arr = [12112, 21, 212, 12, 3213];
    return Math.max(arr);
}

//8、回调函数,返回上一步操作,每一次结果保存在内存中,占用内存
function factorial1(num) {
    if (num > 0) {
        return num * factorial1(num - 1);
    } else {
        return 1;
    }
}

//9、回调函数,讲结果返回,不占用多余的内存
function factorial2(num, total) {
    if (num > 0) {
        return total = num * factorial2(num - 1);
    } else {
        return 1;
    }
}

var n = 10;
console.log("factorial1(" + n + "):" + factorial1(n));
console.log("factorial2(" + n + "):" + factorial2(n));

//10、函数中断方式
function say() {
    console.log("1"); // 1
    return 0;
    console.log("2"); //函数已经结束没有执行
}

中断循环的方式
1.
break
2.
continue

//11、ECMScript 完整的解析器
alert(eval("1+2"));

//12、闰年判断
var j = 1;
for (var i = 1; i <= 3000; i++) {
    if (getYear(i)) {
        console.log(j + ":" + i);
        j++;
    }
}

function getYear(year) {
    if (year % 400 == 0 || (year % 4 === 0 && year % 100 != 0)) {
        return 1;
    } else {
        return 0;
    }
}

//13、push(),pop(),shift(),unshift()区别
var arr = [1, 2, 3];
arr.push(4);
console.log("push(4):" + arr); //1,2,3,4 从尾部添加

var arr = [1, 2, 3];
arr.pop(4);
console.log(arr); //1,2  从尾部出栈

var arr = [1, 2, 3];
arr.unshift(4)
console.log(arr); //4,1,2,3 从头部添加

var arr = [1, 2, 3];
arr.shift(4);
console.log(arr); // 2,3  从尾部添加

//14、++在前面和在后面的区别
var n = 100;
alert(++n); // 101
var m = 100;
alert(m++); //100

//15、条件操作符
console.log(12 > 4 ? "yes" : "no");

*/

  

时间: 2024-11-05 22:54:31

Javascript高级程序设计-第一阶段的相关文章

javascript高级程序设计 第一章--javascript简介

javascript高级程序设计 第一章--javascript简介Netscape开发的javascript最初的目的就是处理由服务器负责的一些输入验证操作,而在js问世之前,必须                    把表单数据发到服务器端用户才能得到反馈.如今的js不再局限于简单的数据验证,而且具备了与浏览器窗口及其内容等所有方面的交互能力,js已经发展成功能全面的面向客户端的编程语言.javascript由Netscape公司开发,原名Livescript,是为了迎合当时的java热,所

Javascript高级程序设计——第一章:javascript简介

第一章 javascript简介 1.Javascript简史 javascript诞生于1995年,是由网景公司的Brendan Eich开发的,最初的目的是在客户端处理一些输入验证操作,自此后成为常见浏览器的特色功能,如今用途已经不限于简单的数据验证,而是具备与浏览器窗口及其内容等几乎所有方面交互的能力.当时javascript是为了搭上媒体热炒的java才改名为javascript其最初名为livescript. 在javascript取得巨大成功后,微软公司也在自己的浏览器中加入了名为J

读书笔记 - javascript 高级程序设计 - 第一章 简介

第一章 简介   诞生时间 1995 最初用途 客服端验证 第一版标准 注意是标准 1997年 Ecma-262  一个完整的js实现由三部分组成 ECMAScript DOM 文档对象模型 BOM 浏览器对象模型 ECMAScript的宿主环境 web浏览器 Node(服务器js平台) adobe flash js和as的关系 他们都实现了 ECMAScript 五大主流浏览器 IE Firefox Safari Chrome Opera dom介绍 它是针对xml但经过扩展用于html的应用

javascript高级程序设计 第十三章--事件

javascript高级程序设计 第十三章--事件js与HTML的交互就是通过事件实现的,事件就是文档或浏览器窗口中发生的一些特定的交互瞬间. 事件流:事件流描述的是从页面中接收事件的顺序,IE的是事件冒泡流,Netscape的是事件捕获流,这个两个是完全相反的事件流概念. 事件冒泡:由最具体的元素接收,然后逐级向上传播到更高级的节点,即事件沿DOM树向上传播,直到document对象. 事件捕获:不大具体的节点应该更早接收到事件,相当于沿DOM节点树向下级传播直到事件的实际目标,在浏览器中,是

JavaScript高级程序设计(第三版)学习笔记20、21、23章

第20章,JSON JSON(JavaScript Object Notation,JavaScript对象表示法),是JavaScript的一个严格的子集. JSON可表示一下三种类型值: 简单值:字符串,数值,布尔值,null,不支持js特殊值:undefined 对象:一组无序的键值对 数组:一组有序的值的列表 不支持变量,函数或对象实例 注:JSON的字符串必须使用双引号,这是与JavaScript字符串最大的区别 对象 { "name":"Nicholas"

web前端之JavaScript高级程序设计六:事件

web前端之JavaScript高级程序设计六:事件 JavaScript 与 HTML 之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码.这种在传统软件工程中被称为观察员模式的模型,支持页面的行为(JavaScript 代码)与页面的外观(HTML 和 CSS 代码)之间的松散耦合. 事件流: 事件流描述的是从页面中接收事件的顺序.但有意思的是, IE 和 Netscape 开发团队居然提出了

《JavaScript 高级程序设计》

因为曾经在高中买来<C Primer Plus>和大学买来的<Clean Code>(挑战自己买的英文版的结果就啃了一点)给我一种经典的书都特别厚的一本就够读大半年的感觉.加上刚上大学图便宜买的有关做网站的旧书(应该是 Table 布局和 Dreamweaver 比较火的时代的书,这些书倒是很薄)让我一度认为做网页不就是 table 然后 tr.td 什么的套呗,高大上点不就是 div+CSS 嘛有什么大不了,给我设计好什么网页不都 ok 能做出来么?这种感觉.然后看网络课程,在网

javascript高级程序设计--简介

工作一年多了,这一年的收获真是丰富.结识了许多同事朋友,技术网友,学了许多新的技术知识:当然还要感谢我的朋友们,感谢我的第一家公司. 大学主要学的.net,刚毕业那会对javascript的了解几乎就是空白,后来有机会接触了百度地图,开始了javascript学习之路.现在在项目中也能熟练的使用javascript,jquery等技术,可总感觉缺点什么,有些东西你知道是什么,也能写出来,但就是不知道他是什么,他的原理是什么样的.所以才有了现在的想法,系统的学习一遍javascript.---文笔

javascript高级程序设计 第十四章--表单脚本

javascript高级程序设计 第十四章--表单脚本 在HTML中表单由<form>元素表示,在js中表单对应的是HTMLFormElement类型,这个类型也有很多属性和方法:取得表单元素的引用还是为它添加id特性,用DOM操作来获取表单元素:提交表单:把<input>或<button>元素的type特性设置为"submit",图像按钮把<input>元素的type特性设置为"image",也可以调用submit(