资讯专栏INFORMATION COLUMN

javascript标准参考教程(阮一峰老师)学习笔记

leap_frog / 858人阅读

JavaScript标准参考教程 第一章

JS宿主环境 最常见的

浏览器

服务器环境如node

==JavaScript核心语法== 只有两部份

基本的语法构造(操作符、控制结构、语句等)

标准库(一系列具有各种功能的对象比如ArrayDateMath等)

除此之外,有宿主环境提供的API

==浏览器提供的API==

浏览器控制类:操作浏览器

DOM类:操作网页各种元素

Web类:实现互联网各种功能

==服务器环境提供的API==

文件操作API

网络通信API

等等

第二章
基本语法
变量【重要】

js区分大小写变量名

undefined “未定义” var声明但不赋值

==JS是动态类型语言==

变量的类型没有限制,可以随时更改类型,例如:

var a = 1;

a = ‘hello’;

用var重新声明(但不赋值)一个已存在的变量是无效的,例如:

var x = 1;

var x; //此句无效,等于没写,x等于1,x不会等于undefined

==但是==

var x = 1;

var x = undefined;//你瞅瞅会输出啥

==然后==

var x = 1;
function py(){console.log(x);var x = 2;};py();//你瞅瞅会输出啥

相当于

var x = 1;

function py(){

​ var x;
​ console.log(x);
​ x = 2;

}
py();

变量提升(hoisting)
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部。
console.log(a);
var a = 1;
//等同于以下,输出undefined
var a;
console.log(a);
a = 1; 
标识符

==标识符(identifier)指的是用来识别各种值的合法名称。==

第一个字符:任意Unicode字母(英文和其他语言字母),以及$_

第二个字符以及后面字符,除了可用Unicode字母、美元符、下划线,还可用数字

一些保留字(关键字)不能用作标识符,例如for、true、class、case、yield、super等。

以下合法标识符

π arg0 _tmp $elem 临时变量

以下是不合法标识符

1a  // 第一个字符不能是数字
23  // 同上
***  // 标识符不能包含星号
a+b  // 标识符不能包含加号
-d  // 标识符不能包含减号或连词线
注释

///* */

此外,由于历史上 JavaScript 可以兼容 HTML 代码的注释,所以也被视为合法的单行注释。

例如:以下三种写法都是注释

x = 3;

n --> 0 相当于 n-- > 0 (一个判断语句,先判断是否大于0,再做减减操作)

条件语句 if结构和if...else...结构
var x = 1;
var y = 2;
if (x = y) {
  console.log(x);
}
// "2"

实际含义:将y赋值给变量x,再判断变量x的值(等于2)的布尔值(结果为true)。

如果碰上下面这个例子:

var x = 1;
var y = "";
if (x = y) {
  console.log(x);
}else{
  console.log("i win")
}

想一想,结果会打印出什么呢?动手在浏览器试试吧。

==else代码块总是与离自己最近的那个if语句配对。==

var m = 1;
var n = 2;

if (m !== 1)
if (n === 2) console.log("hello");
else console.log("world");

上面代码不会有任何输出,else代码块不会得到执行,因为它跟着的是最近的那个if语句,相当于下面这样。

if (m !== 1) {
  if (n === 2) {
    console.log("hello");    
  } else {
    console.log("world");
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98446.html

相关文章

  • 前端资源系列(4)-前端学习资源分享&前端面试资源汇总

    摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...

    princekin 评论0 收藏0
  • PHPer书单

    摘要:想提升自己,还得多看书多看书多看书下面是我收集到的一些程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧当然,如果你有好的书想分享给大家的或者觉得书单不合理,可以去通过进行提交。讲师温铭,软件基金会主席,最佳实践作者。 想提升自己,还得多看书!多看书!多看书!下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完。共勉吧!当然,如果你有好的书想分享给大家的或者...

    jimhs 评论0 收藏0
  • 前端资源分享-只为更好前端

    摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...

    zxhaaa 评论0 收藏0
  • 前端资源分享-只为更好前端

    摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...

    JouyPub 评论0 收藏0
  • 前端资源分享-只为更好前端

    摘要:一团队组织网站说明腾讯团队腾讯前端团队,代表作品,致力于前端技术的研究腾讯社交用户体验设计,简称,腾讯设计团队网站腾讯用户研究与体验设计部百度前端研发部出品淘宝前端团队用技术为体验提供无限可能凹凸实验室京东用户体验设计部出品奇舞团奇虎旗下前 一、团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾...

    vslam 评论0 收藏0

发表评论

0条评论

leap_frog

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<