13-JS高级(一)--JS基础复习

JavaScript基础知识复习

  1. JavaScript包含:

    1. ECMAScript:规定js的语法规范;
    2. DOM:Document Object Model,提供了一套操作dom元素的API(application programming interface);
    3. BOM:浏览器对象模型,操作浏览器对象的api。
  2. JavaScript的基本数据类型有:number、string、boolean、undefined。

  3. JavaScript的复杂数据类型(引用类型)有:Array、Date、Object、Regexp、Function、String、Number、Boolean;两个核心类型:Object、Function;还有两个空类型:undefined、null(object类型)。

    • 变量不可能为null值,除非手动去设置,解除对象的占用(引用)。
  4. 获取一个数据的数据类型:typeof xxx;,使用该运算符返回的结果是string类型。

  5. JavaScript中 === 和 == 有什么区别:

    • ==:判断值是否相等;
    • ===:判断值和类型是否都相等。
  6. JavaScript中in运算符有什么作用:

    1. 最常用在for in循环中,遍历对象的键(对象中键为字符串类型);
    2. 判断属性是否存在于对象中,语法属性名 in 对象;(属性名应该是字符串);
    3. 注意:in关键字操作数组时,获取到的是索引值(下标),不是值;判断数组中是否存在指定值:用for循环、arr.indexOf(xxx)。
  7. JavaScript中关系运算符有:>=、<=、>、<、=。

  8. 创建对象使用什么运算符:new。

  9. 什么是引用类型:存储的是数据在内存中的地址,数据在内存中单独存储,这就是引用类型数据;

    • 什么是值类型:存储的就是数据本身的变量就是值类型。

      • 所有引用类型的类型都是object类型,除了function打印出来的是function类型。
      • 变量一般存储在内存中;
      • 引用类型赋值:是将变量中存储的地址复制一份单独存储,但是两个变量共享同一个地址;通过一个变量修改对象中的内容,另外一个引用访问的时候,也会访问到修改后的对象。
    • 做函数参数:

      • 值类型做函数的参数:函数内部的变量,也就是形参,和实参只是简单的赋值操作,两个数据独立存储于内存中;在函数内部对形参进行修改,不会影响外面的变量。
      • 引用类型做函数的参数:是把实参存储的地址赋值给了形参,在函数内部,形参同样也指向该对象,所以在函数内部对该对象进行修改,会影响到外面的变量。
    • 注:如果引用类型做函数的参数时,如果在函数内部重新创建对象,为该形参赋值,那么两个对象将不再有关系,修改其中一个,另外一个不会受到影响。

    • 对象的动态特性:指在对象创建出来之后,可以再为对象添加新的属性或者方法。

    • 使用点语法给对象属性赋值,如果对象存在该属性,是修改操作;如果对象不存在该属性,那么就是给该对象增加新的属性并且赋值;同样效果的还有使用中括号。

  10. 什么叫逻辑中断:

    1. 表达式1 || 表达式2:
      1. 如果表达式1为真,返回表达式1的值;
      2. 如果表达式1为假,返回表达式2的值。
    2. 表达式1 && 表达式2:
      1. 如果表达式1为真,返回表达式2的值;
      2. 如果表达式1为假,返回表达式1的值。
  11. delete运算符的作用是什么:

    1. 可以用来删除对象的属性,还可以删除未使用var声明的变量(window的属性或者说是全局变量):delete obj[name];
    2. delete关键字有返回值,用来表示删除属性是否成功;
    3. 如果删除一个对象不存在的属性,返回值也为true;
    4. 如果删除的属性存在于原型当中,那么返回值为true,但是该属性并未被删除。
  12. 循环有几种:for、for in、while、do while。

  13. 分支语句有几种:if else、switch case。

  14. 跳转语句中break和continue的区别:

    • continue跳过本次循环;
    • break跳出最近一层的循环。

调试工具

调试窗口介绍

  1. 指针:选择页面中的元素;
  2. 手机:使用移动端界面调试;
  3. element:查看页面DOM树;
  4. console:控制台(注:控制台与该页面是一个整体,在控制台中的任何操作,都会影响到页面);
  5. Source:代码调试。

定义函数

  1. 定义函数的基本语法:三种
    1. 函数声明:
function 函数名(){//函数体}
  1. 函数表达式:在使用函数表达式声明函数的时候,function后面可以跟函数名,但是这个函数名只能在函数内部使用,外部无法访问。
var test = function 函数名(){//函数体}
test();
  1. Function
var test = new Function();

元素节点操作:

  • 创建文本节点:createElement、createTextNode;
  • appendChild、insertBefore、。

  • removeChild。

  • replaceChild;

  • getElementById;
  • getElementsByTagName;
  • getElementsByClassName,有兼容性问题。

属性节点操作

  • getAttribute、setAttribute、removeAttribute。

常用DOM属性

  • className、innerHTML、innerText/textContent、value、children

异常处理

  • 异常最大的特征:就是一旦出现异常,后面的代码就不会再被执行,为了保证后面的代码在出现异常之后能继续执行,就要进行异常处理;
  • 语法:
try{
    //可能会出现异常的代码
    //可以进行手动抛出异常,使用throw
    throw "你的代码有一点小问题哟";
}
catch(e){
    //捕获异常,e为捕获到的异常信息
    //出现异常时的处理代码
}
finally{
    //无论是否出现异常,都会执行
    //node.js使用的较多,一般在这里做释放资源的一些操作
}
  • 注:语法异常不能捕获,因为js代码执行分为两个阶段:解析阶段(检测语法)和执行阶段。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,326评论 0 4
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,231评论 0 4
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,199评论 9 118
  • 无论你曾经是佩戴小红花,还是满脸泥巴! 亲爱的超龄儿童们,六一儿童节快乐! 今天,我们都别上班了!没心没肺的玩一天...
    D035牛牛_佛山阅读 244评论 1 9
  • “阳春布德泽,万物生光辉”。行走于四月的都市里,少有人怀疑四月不美,徜徉四月的柳絮飘飞,少有人纠结四月误会。空...
    zhang先森阅读 1,197评论 1 1