<script src = "xxx.js" defer = "defer"> </script>

在引用外部script时,<script src = "">内部不能再有代码,浏览器只加载外部文件</script>

defer 属性只实用于外部js引用情景;属性功能指定下载js代码,直到加载完页面内容才加载js文件;

变量作用域

  • A只能访问a
  • B只能访问a, b
  • C只能访问a, b, c
  • D只能访问a, d

在javaScript中没有块作用域,只有函数作用域

for(var i = 0; i < 10; i++)

{

  ......

};

alret(i); // i = 9;//i的作用域属于上层作用域;

用var 申明的变量会自动放入最接近的作用域中(所在函数内部),而未使用var申明的变量.都是全局变量

人为约定作用域

通过匿名函数间接约定作用域

(function(){

.................

})();

    var sum = 0;
(function(){
for(var i = 0; i < 10; i++)
{
sum += i;
}
})();
alert(sum + i);

会提示i未定义的错误;

数据类型

基本类型(undefined, Null, Boolean, Number, String)

引用类型(Object, Array, Date, RegExp, Function, )

  var obj = new Object();

var arr = new Array();

var arr = new Array(5); //分配长度

var arr = new Array("init", "init1"); //创建并初始化

var time = new Date(); //返回当前系统时间

var re = new RegExp(); //正则表达式类型

Math对象

Math.PI //派的值

Math.max("5", "4", "8", "...");//返回最大值(可以理解为静态成员方法)

Math.min("...");//返回最大值

对象

Object.defineProperty(obj, "name", {

  writable: false,

  value: " bokeyuan"

  });

Object.defineProperty(); //静态成员函数,用来指定成员属性类型

  1. 第一个参数为,需要设定的对象
  2. 第二个参数为,对象属性名;
  3. 第三个对象为,对象属性类型设置

可设置的类型

  • [configurable]  //能否通过delete删除属性,默认true
  • [enumerable]  //能否通过for-in 循环返回属性默认true
  • [writable]         //能否修改属性值 默认true
  • [value]            //读取属性值时从位置读;写入值时,放入此位置,默认undefined;

创建对象

工厂模式(函数调用模式)

function getObj(name, face, toll)

{

  var obj = new Object();

  obj.name = name;

  obj.face = face;

  obj.toll = toll;

  //成员方法

  function ta()

  {

    return face + toll;

  }

  ....

  return obj;

}

var a1 = getObj("...","...","... ");

var a2 = getObj("...","...","... ");

构造函数模式(函数对象等效模式)

function getObj(name, age, time)

{

  this.name = name;

  this.age = age;

  this.time = time;

  function t()

  {

    return this.time++;

  }

}

var obj = new getObj("..", "..", "..");

原型模式(全局初始化模式)

function getObj()

{

  getObj.prototype.name = "...";

  getObj.prototype.age = ....;

  getObj.prototype.time = ....;

function x()

{

  .....

}

}

var obj = new getObj();

组合使用构造函数模式和原型模式(默认全局初始化模式)

function getObj(name, age, time)

{

  this.name = name;

  this.age = age;

  this.time =time;

  function tt()

  {

    ......

  }

}

动态原型模式

寄生构造函数模式

稳妥构造函数模式

继承

原型链

借用构造函数

组合继承

原型式继承

寄生式继承

寄生组合式继承

函数表达式

常规定义

function f()

{

  ............

}

匿名函数

var f = function()

{

  ............

}

闭包

完全错误的一个章//

css模块选择器定位元素

通过document或element的querySelector方法选择指定元素对象;

通过element选择指定元素对象;

var a1 = document.querySelector("head");

通过id xxx选择元素对象;

var a2 = document.querySelector("#xxx");

通过class名选择元素对象;

var a3 = document.querySelector(".classname"); //选择的是该classname的第一个元素对象;

通过document或element的querySelectorAll()方法选择指定元素所有对象返回保存数组中;//等效于getElementByTarName();

var arr = document.querySelectorAll(".....");

取出元素对象

for(var i = 0; i < arr.length(); i++)

{

  arr[i]; //或用arr.item(i);

}

元素遍历

.childElementCount属性返回子元素个数;不包括(文本,注释)

.fristElementChild返回第一个子元素    //等效于fristChild(前者兼容性更好)

.lastElementChild返回最后一个子元素 //等效于lastChild(前者兼容性更好)

.nextElementSibling 同级元素下一个
.previousElementSibling 同级元素上一个

HTML5

焦点管理

document.activeElement//返回文档得到了焦点的元素

document.hasFocus();判断文档是否得到了焦点

document.readyState 判断文档加载状态.类似于load

document.readyState == "loading" //加载中...

document.readyState == "complete" //加载完

document.charset = "UTF-8";设置字符集属性

自定义数据属性

通过data-    可以自定义属性

<div id = "xxx" data-appid = "xxx">

取得或设置自定义属性

element.dataset.appid = "xxxx";

javaScript高级程序设计第3版笔记的更多相关文章

  1. Javascript高级程序设计第三版-笔记

    1.JS数值最大值最小值: >Number.MIN_VALUE <5e-324 >Number.MAX_VALUE <1.7976931348623157e+308 判断数值是 ...

  2. JavaScript高级程序设计第三版.CHM【带实例】

    从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...

  3. JavaScript 高级程序设计 (第4版) 思维导图/脑图 All In One

    JavaScript 高级程序设计 (第4版) 思维导图/脑图 All In One JavaScript 高级程序设计 (第4版) 思维导图下载 JavaScript 高级程序设计 (第4版) 脑图 ...

  4. 《JavaScript高级程序设计》(第二版)

    这本书的作者是 Nicholas C.Zakas ,博客地址是 http://www.nczonline.net/ ,大家可以去多关注,雅虎的前端工程师,是YUI的代码贡献者,可想而知这本书得含金量, ...

  5. 【读书笔记】读《JavaScript高级程序设计-第2版》 - 非函数部分

    章节列表: 第08章:BOM 第09章:客户端检测 第10章:DOM 第11章:DOM2和DOM3 第12章:事件 第13章:表单脚本 第14章:错误处理与调试 第17章:Ajax和JSON第20章: ...

  6. JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈

    null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑 ...

  7. JavaScript高级程序设计第三版-读书笔记(1-3章)

    这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript   提供核心语言功能 DOM     提供访问 ...

  8. 【读书笔记】读《JavaScript高级程序设计-第2版》 - 函数部分

    1. 定义 函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. 对于函数 ...

  9. 《JavaScript高级程序设计 第3版》-学习笔记-2

    P31-P82页 1.相等不相等与全等不全等 相等不相等:先转换后比较.对于只有一个对象,调用valueOf方法得到基本类型值再按基本类型转换:如果两个都是对象,则比较他们是否是同一个对象(引用或指针 ...

随机推荐

  1. CSS基础布局

    目录 css基础布局 1.布局相关的标签 2.盒子模型 2-1 什么是盒子模型 2-2 块级元素和内联元素(行内元素) 2-3 盒子模型之间的关系 盒子模型相关CSS属性 3.浮动 3-1 什么是浮动 ...

  2. vue技术分享之你可能不知道的7个秘密

    本文是vue源码贡献值Chris Fritz在公共场合的一场分享,觉得分享里面有不少东西值得借鉴,虽然有些内容我在工作中也是这么做的,还是把大神的ppt在这里翻译一下,希望给朋友带来一些帮助. 一.善 ...

  3. Leaf Sets CodeForces - 1042F (树,最小划分)

    大意: 给定树, 求叶子的最小划分, 使得每个划分内任意两个叶子距离不超过k. 任选一个非叶结点, 贪心合并. #include <iostream> #include <sstre ...

  4. 修改源码去除zblog博客分类目录的RSS图标

    zblog博客的所建立的分类默认前面是有一个RSS图标的,如下图所示: 其实这个图标的存在并不能起到太大的美化作用,增加用户订阅数量的作用.那么应该如何去掉这个RSS图标呢? 这个RSS图标的生成在z ...

  5. 基于C#实现与JY61姿态角度传感器通信

    产品介绍:  此六轴模块采用高精度的陀螺加速度计 MPU6050,通过处理器读取 MPU6050 的测量数据 然后通过串口输出,免去了用户自己去开发 MPU6050 复杂的 IIC 协议,同时精心的 ...

  6. gflags 编译动态库

    gflags 编译动态库 这里涉及到gflags的安装,原来使用 sudo apt-get install libgflags-dev 但是后面有人在环境中下载安装了libgflags的安装包,解压后 ...

  7. O036、Snapshot Instance 操作详解

    参考https://www.cnblogs.com/CloudMan6/p/5510296.html   有时候系统损坏的很严重,通过 Rescue 操作无法修复,那么我们就得重新考虑通过备份恢复了. ...

  8. web录音——上传录音文件

    捕获麦克风 一.  前言    公司项目需要实现web录音,刚刚好接手此功能,由于之前未接触过,在网上找了些资料做对比 )   https://www.cnblogs.com/starcrm/p/51 ...

  9. 由于MTU设置不当导致的访问超时

    现象 工作中遇到一件怪事:搭建好服务器后(VPN服务器,创建了虚拟网卡),服务器和客户端之间响应正常且很稳定,客户端也能正常通过服务器访问外网.但是访问个别网站时可以打开文字,但是部分图片打不开(也不 ...

  10. Ceph自动化部署----Ceph-ansible

    目录 Ceph自动化部署----Ceph-ansible 一.前言--Ceph的几种不同的部署方式 二.使用Ceph-ansible部署Ceph Ceph自动化部署----Ceph-ansible 一 ...