学习资料:《JavaScript菜鸟教程》

学习目标:熟悉JavaScript语法即可

学习计划:2021.6.10-2021.6.12 【2021.6.11 Finish】

JS和其他编程语言大同小异,通用的一些写法不记录。和C++几乎一样


JS简介

  • 为什么学习JS?

    • HTML 定义网页内容
    • CSS   描述网页布局
    • JavaScript 控制网页行为
    • 学习目标:结合三者协同工作
  • JS概念
    • 是一种轻量级的脚本语言
    • JS可以被插入到HTML页面
  • 直接写入HTML流(提前写好相当于宏定义,如果在函数里调用触发,则会覆盖整个文档)
    <!DOCTYPE html>
    <html><head><title> JS Fighting!!! </title></head><body><script>document.write("haha");document.write("<h1>小标题</h1>");</script></body>
    </html>
  • 点击反馈
    <!DOCTYPE html>
    <html><head><title> JS Fighting!!! </title></head><body><script>function TestFunction(){x = document.getElementById("demo");x.innerHTML = "test";}</script><p id="demo"> haha</p><button onclick="TestFunction()">点击</button></body>
    </html>

JS用法

  • 外部引用js文件

    <!DOCTYPE html>
    <html><head><title> JS Fighting!!! </title><script src = "myScript.js"></script></head><body><p id="demo"> haha</p><button onclick="TestFunction()">点击</button></body>
    </html>
function TestFunction(){x = document.getElementById("demo");x.innerHTML = "test";
}

Chrome 中执行JavaScript

谷歌浏览器→F12→Source→Snippets→JS Code


JS输出

  • 显示数据的四种方式

    • windoe.alert()
    • document.write()
    • innerHTML
    • console.log()

JS语法

  • JS注释//
  • JS是大小写敏感的,和CPP一样
  • JS字符集为Unicode
  • JS数据类型
    • 值类型:String,Number,bool
    • 引用类型:Array,Function,Object
  • JS的数字类型只有一种叫Number
  • JS对象
    <!DOCTYPE html>
    <html><head><title> JS Fighting!!! </title></head><body><p id="test"> haha </p><script>var person={firstname : "John",lastname  : "Doe",id        :  5566,fullname : function(testname){return this.firstname + testname;}};document.getElementById("test").innerHTML = person.fullname("666");</script></body>
    </html>
  • 写var的变量才是安全合法的。没有var就变成全局变量,也是windows变量
  • var x = "TEST" 和 var x = new String("TEST")不是一个类型,一个是String,一个是Object
    • 可以通过赋值undefined则typeof变为undefined,来清空类型
  • null和undefined有什么区别?
    • null和undefined都是js的基础类型
    • null是个对象有架子是object,undefinded啥都没
  • 类型转换
    • constuctor可以返回构造函数,转成string,再看构造函数命有Array还是String可以判断是哪种object
    • 数字,bool,字符串,日期可以转换
  • try catch throw finally用法和C++一样
  • 浏览器调试
    • shift + enter是换行
    • 加上debugger;就会进入断点
  • JS声明提升:简单来说,函数/变量的声明放哪不重要,因为解释器会最早处理
    • 如果声明的同时初始化,就不会提升
    • JS严格模式要求不能使用未声明的变量,否则会报错  “use strict”
      • 同时禁止了各种错误/奇怪的写法,相当于提高编译器的警告级别
  • 在JS中。10 == “10”是成立的,但===是不成立的
  • 在JS中,加法和连接
    • 数字 + 字符串 → 字符串
  • JS中所有数字都使用64bit 浮点数,因此精度会是一个问题
  • JS没有所谓的块作用于,因此在写for循环的时候,用let比var要好
    <!DOCTYPE html>
    <html><head><title> JS Fighting!!! </title></head><body><p id="test"> haha </p><script>for(var i = 0 ;i<=10 ;++i) /* 用let可以使得i作用于在for中 */{console.log(i);}console.log("hah" + i);</script></body>
    </html>
  • JS与JSON
    • JSON是传送数据的格式,通常是服务器传输到客户端
    • JSON:JavaScript Object Notation
    • JSON数据以键值对的形式出现,最外面是[],数据是{}
    • 因为JSON和JS的语法很接近,所以通过JS解析JSON文本,特别方便 (JSON.Parse)
  • javascript:void(content)代表执行content内容,但没有返回值
  • JS通过settimer可以实现异步
    • 通过promise的语法,可以将多重嵌套的复杂异步任务,变成顺序格式的代码,更加清晰直观
    • promise共有三个状态:pending,fulfilled,rejected [学习链接],then then可以连写,是因为.then返回了一个新的promise

JS代码编程规范

  • 变量名

    • 驼峰:第一个字母小写,后面字母大写
  • 缩进
    • 通常使用4个空格作为缩进符
  • 分号作为结束符
  • HTML载入js
    • <script src="myscript.js">

总结:和C++使用区别不大,语法规则已基本熟悉

《JavaScript菜鸟教程》学习相关推荐

  1. 【SQL学习笔记】《SQL进阶教程》1.1

    SQL进阶教程学习笔记1.1 1-1case 表达式 将已有编号方式转换为新的方式并统计 SELECT CASE pref_nameWHEN '辽宁' THEN '东北'WHEN '福建' THEN ...

  2. 【SQL进阶教程】第一章 case表达式

    本系列基于<SQL进阶教程>(如下图)学习,实现了书中代码及练习题代码.PS:电子书请大家各自默默脚本之家. [知识点1]case表达式概述 Case表达式有简单case表达式和搜索cas ...

  3. SQL基础教程学习第六站:数据更新

    仅用于记录学习,欢迎批评指正,共同交流,共同进步,大神勿喷 系列文章 SQL基础教程学习第一站:PostgreSQL下载安装以及如何创建并登录数据库: SQL基础教程学习第二站:数据库基本知识: SQ ...

  4. SQL进阶教程—自链接的用法

    用法 https://moonshuo.cn/posts/14085.html 可重排列,排列,组合 需求:现在我需要将这个水果的品种各个组合起来,构成一个有序对的组合 在这个过程中首先执行完毕fro ...

  5. SQL进阶教程—CASE表达式

    所有的文件在SQL进阶教程 (ituring.com.cn),随书下载那里 概述 文章原址 基本写法 简单CASE表达式 SELECT CASE 列名称WHEN 匹配字符 THEN 转换字符WHEN ...

  6. SQL数据库教程-学习笔记2

    SQL数据库教程-学习笔记2 文章目录 SQL数据库教程-学习笔记2 三.DML语言的学习 1.插入语句:insert into 2.修改语句:update 3.删除语句:delete 4.练习题 四 ...

  7. 【SAP Hana】X档案:SAP HANA SQL 进阶教程

    SAP HANA SQL 进阶教程 5.HANA SQL 进阶教程 (1)Databases (2)User & Role (3)Schemas (4)Tables (5)Table Inde ...

  8. 【SQL学习笔记】《SQL进阶教程》1.2

    1-2自连接的用法 自连接+非等值连接 自连接+GROUP BY = 递归集合 表是行的集合,面向集合 开销较大 唯二重要的方法 CASE 自连接 SQL语言 : 面向集合的特性 可重排列.排列.组合 ...

  9. SQL进阶教程——用SQL进行集合运算(第七章)

    1. 前言 集合论是SQL语言的根基--这是贯穿全书主题之一.因为他的这个特性,SQL也被称为面向集合语言.只有从集合的角度思考,才能明白SQL的强大. 但是,实际上这一点长期以来都被很多人忽略了.造 ...

  10. SQL进阶教程 | 史上最易懂SQL教程 5小时零基础成长SQL大师

    目录 第一部分:基础--增删查改 [第一章]做好准备 Getting Started (时长25分钟) [第二章]在单一表格中检索数据 Retrieving Data From a Single Ta ...

最新文章

  1. php如何判断提交内容为空,php不允许用户提交空表单(php空值判断)
  2. mysql 判断表或字段存不存在
  3. vs2010安装AnkhSVN,但是不起作用解决方法
  4. 【Python】Pandas数据排序实现
  5. SDWebImage详解
  6. 【Java线程】复盘线程池使用及思考
  7. Abp连接多个数据源
  8. Java中的Map List Set等集合类
  9. 在IDEA中实现Python随机森林模型预测人口
  10. “闽南金三角”——世丰管道福建漳州高级水电工程师会议
  11. IP签名档PHP源码,IPCard 一款天气图标签名档源码
  12. db_recovery_file_dest与log_archive_dest、log_archive_dest_n
  13. 我的python学习(前言 初生牛犊不怕虎)
  14. java 打开word(docx)替换内容,并插入图片(盖章)
  15. JavaWeb随手笔记
  16. PoisonGAN: Generative Poisoning Attacks Against Federated Learning in Edge Computing Systems 阅读报告
  17. 汽车租赁小程序来了,汽车租赁小程序开发方案
  18. Oracle 访问SQL Server的数据 (通过Oracle gataway)
  19. REPAIR TABLE导致死锁
  20. 命令行pdf转jpg

热门文章

  1. 六,华为交换路由做NAT五种方法
  2. Ubuntu下自制douban.fm播放器
  3. 希捷服务器硬盘15k有几代,1.5万转 希捷15K.7系列600G硬盘首测
  4. 使用java做地图_在地图中使用Java
  5. android sns空间代码,Android视频分享SNS类APP完整源码(服务端+客户端)
  6. IEEE会议Latex模板下载教程
  7. 小米note2鸿蒙ROM,小米note2线刷刷机教程_小米note2第三方rom线刷包_救砖刷机包
  8. vb.net视频总结
  9. 买房注意事项收集(zt)
  10. 文本检测算法:CTPN