笔记一

1.数据类型:

1.string 2.number 3.boolean 

4.undefined:声明但未初始化

5.object6.null

2.js组成:ECMCscript,文档对象模型(DOM), 浏览器对象模型(BOM)

3.<sscript>标签:

defer: defer="defer",立即下载,延迟执行(页面所有的代码都执行完毕之后,js才会执行)

async: async, 与defer类似,都是改变处理脚本的行为。与defer不同的是,标记位async的脚本并不保证按照指定他们的先后顺序执行。async的母的是为了不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此建议异步脚本不要再加载期间,修改dom。异步脚本一定会在在面的load事件前面执行。但可能会在DOMContentLoaded时间触发之前或之后执行。

位置:浏览器先解析不使用defer的script元素种的代码,然后再解析后面的内容。所以script标签一般应该放在页面最后,即主要内容后面,</body>前面。

4.文档模式:

<!DOCTYPE html>

5.<noscript>元素,什么情况下使用?A.浏览器不支持脚本B.浏览器支持脚本,但脚本被禁用。

6.严格模式: "use strict";

7.  A.undefined == null     // true

B.undefined === null   //false

C.var car = null; console.log(typeof car);   //"object"

8.NaN:非数值是一个特殊的数值

NaN == NaN    //false

isNaN(NaN)   //true

isNaN(true)    //false

isNaN(10)     //false

Number(true | false)       // 1 | 0

Number(null | undefined)    // 0 | NaN

Number("")  // 0

parseInt("")  //NaN

toString()转换字符串

!false // true          !"blue" //false    !0 //true    !NaN //true    !"" //true    !1234 //false

9.typeof是检测基本数据类型的

instanceof是检测引用类型的

10.每个函数都有他的执行环境。当代码在一个环境中执行时,会创建变量对象的一个作用域链。作用域链的用途:是保证对执行环境有权访问的所有变量和函数的有序访问。全局执行环境的变量对象始终都是作用域链中的最后一个对象。

11.内部环境可以通过作用与链访问外部所有的外部环境,但是内部环境不能访问外部环境的所有变量和函数。这些环境之间是线性,有次序的。

12.执行环境的类型:全局和局部(函数)

13.js变量可以用来保存两种类型的值: 基本类型值引用类型值。基本类型值源自于以下5种基本数据类型:undefined,null,boolean,number, string。基本类型值和引用类型值具备以下特点:

a.基本类型值在内存种占固定大小,因此被保存在栈内存中;

b.从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本;

c.引用类型的值是对象,保存在堆内存中;

d.包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针;

e.从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象;

f.确定一个值是那种基本类型可以用typeof操作符,确定一个值是那种引用类型可以用instanceof操作符;


14.所有变量(包括基本类型和引用类型)都存在于一个执行环境(也称作用域)当中,这个执行环境决定了变量的生命周期,以及哪一部分代码可以访问其中的变量。以下是执行环境的总结:

a.执行环境有全局执行环境(也称为全局环境)和函数执行环境之分;

b.每次进入一个新执行环境,都会创建一个用于搜索变量和函数的作用域链;

c.函数的局部环境不仅有权访问函数作用域中的变量,还有权访问其包含(父)环境,乃至全局环境

d.全局环境只能访问全局环境,不能访问局部环境;

e.变量的执行环境,有助于确定应该何时释放内存。


15.创建object实例方式有两种:

a.使用new操作符后跟object构造函数,例:

var a  = new Object();

a.name = "xiaoxiao";

a.age = 29;

b.使用对象字面量表示法, 例:

var a = {

name: "xiaoxaio",

age: 29

}


16.创建array的基本方式有两种:

a.使用Array构造函数,例:

var colors = new Array(); || var colors = Array()

var colors = new Array(3);  //包含3项的数组

var colors = Array(“blue”); //包含1项,即字符串“blue”的数组

b.使用数组字面量表示法

var colors = ["red", "green"]


17.检测数组的方式:

a. value instanceof Array

b. es5新增:Array.isArray(value)

18.

 push 在末尾添加,返回的是length

pop在末尾移除,返回的是移除项

shift()移除数组的第一项,返回的是移除项

unshift()在第一项添加,返回的是length

toString()数组转为字符串,逗号隔开

join()数组转为字符串,不限制用什么隔开

reverse()反转数组的顺序

sort()排序

slice()截取数组,并返回截取大部分

19.splice()方法:始终都会返回一个数组

a.删除:splice(0, 2)从下标0开始,删除2个

b.插入:splice(2,0,"red","yellow")从下标2的位置插入red和yellow

c.替换:splice(2,1, "red", "yellow"),删除数组下标为2的项,然后在2的位置插入red和yellow

20.位置方法:indexOf() 和lastIndexOf()都接受两个参数

21.五种迭代方法:

every(): 检测数组是否都符合条件,是就返回true,不是返回false

map(): 遍历,返回数组

forEach(): 遍历,没有返回值

filter(): 过滤,返回true的数组

some(): 检测数组至少一项符合就返回true,全部不符合返回false

22.两种归并方法

reduce(): 从数组的第一项开始,逐个遍历到最后

reduceRight():从数组的最后一项开始,向前遍历到第一项

都接受4个参数:前一个值,当前值,索引,数组。可以做累加。求和。

23.RegExp

格式: / pattern / flags

g:全局

i: 不区分大小写

m: 多行

元字符:( [ { \ ^ $ | ) ? * + . ] } 必须要转义

函数是对象,函数名是指针。

24. call() 和apply()

作用:改变对象的执行上下文。

异同: 

function.call(obj[,arg1[, arg2[, [,.argN]]]]])

a.调用call的对象必须是个函数function

b.call的第一个参数将会是function改变上下文后指向的对象,也就是上面例子里的小刚,也就是上上面例子里的老婆大人,如果不传,将会默认是全局对象window

c.第二个参数开始可以接收任意个参数,这些参数将会作为function的参数传入function

d.调用call的方法会立即执行

function.apply(obj[,argArray])

与call方法的使用基本一致,但是只接收两个参数,其中第二个参数必须是一个数组或者类数组,这也是这两个方法很重要的一个区别

25.引用类型和基本类型的区别是对象的生存期。

26.布尔表达式中所有的值,都会转化位true

27.

toFixed()方法可把 Number 四舍五入为指定小数位数的数字。 0 ~ 20 之间的值,包括 0 和 20

toPrecision() 方法可在对象的值超出指定位数时将其转换为指数计数法。返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。

toExponential() 方法可把对象的值转换成指数计数法。采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。

28. slice(), subStr(), subString()

slice(num1, num2): 为正时,num1下标,num2结束的位置。为负时,num1和num2加上长度

subStr(num1, num2): 为正时,num1下标,num2个数。为负时,num1加上长度,num2转为0

subString(num1, num2): 为正时,num1下标。num2结束的位置。为负时,num1和num2转为0。

29.trim():删除字符串开头和结尾的空格。

30.字符串的大小写

大写:toUpperCase()和toLocaleUpperCase()

小写:toLowerCase()和toLocaleLowerCase()

31.localeCompare()比较两个字符串在前返回1,等于返回0,在后返回-1,例如:

var a = "yellow"

a.localeCompare("blue")  //b在y前,返回1

a.localeCompare("yellow")  //y=y,返回0

a.localeCompare("zoo")  //z在y后,返回-1

32: charAt() , charCodeAt(), fromCharCode()

charAt(num1), num1是下标,返回下标位置的字符串

charCodeAt(num1), num1是下标,返回下标位置字符串的Unicode码

fromCharCode(),接收一个或多个字符编码,返回一个字符串:String.fromCharCode(104,101,108,108,111) //hello

33.uri和url

uri是个资源标记命名的,url是给资源定位的

34.Math()

Math.min()最小

Math.max()最大

Math.ceil()执行向上舍入

Math.floor()执行向下舍入

Math.round()执行标准舍入,四舍五入

Math.random(): 0-1的随机数    

值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能值)

var num = Math.floor(Math.random() * 10 + 1)

35,在执行代码之前,已存在两个作用域:global和math

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容