Javascript标准参考教程学习记录

教程:http://javascript.ruanyifeng.com/

基本语法 - 函数

1、函数名的提升

JavaScript引擎将函数名视同变量名,采用function命令声明函数时,整个函数会被提升到代码头部。下面的代码不会报错。

f();
function f(){}

但是,采用赋值语句定义函数,JavaScript就会报错。
f();
var f = function (){}; // TypeError: undefined is not a function

如果同时采用function命令和赋值语句声明同一个函数,最后总是采用赋值语句的定义。

时间: 2024-11-05 10:51:59

Javascript标准参考教程学习记录的相关文章

JavaScript 标准参考教程(alpha)笔记

JavaScript 标准参考教程(alpha)笔记 http://javascript.ruanyifeng.com/#introduction 2.1.4 n--: 先使用n再执行n=n-1; --n: 在使用n之前先执行n=n-1; 2.1.5 区块( {   } )对于var命令不构成单独的作用域,与不使用区块的情况没有任何区别. 2.1.6.3 若switch结构中case代码块内部没有break语句,否则就会接下去执行下一个case代码. 需要注意的是,switch语句后面的表达式,

阮一峰javascript标准参考教程 (IndexedDB:浏览器端数据库)

1.概述 随着浏览器的处理能力不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少用户等待从服务器获取数据的时间. 现有的浏览器端数据储存方案,都不适合储存大量数据:cookie不超过4KB,且每次请求都会发送回服务器端:Window.name属性缺乏安 全性,且没有统一的标准:localStorage在2.5MB到10MB之间(各家浏览器不同).所以,需要一种新的解决方案,这就是 IndexedDB诞生的背景. 通俗地说,IndexedDB就是浏览器端数据库,可以被网页脚本程

阮一峰老师的JavaScript标准参考教程:Object对象和Object方法

Object对象 1. 概述 1.1 生成方法 对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型. 什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合. var obj = { foo: 'Hello', bar: 'World' }; 上面代码中,大括号就定义了一个对象,它被赋值给变量obj,所以变量obj就指向一个对象.该对象内部包含两个键值对(又称为两个“成员”),第一个键值对是foo: 'Hello',其中f

阮一峰老师的JavaScript标准参考教程:数组、Array对象和Array对象方法

数组 1. 定义 数组(array)是按次序排列的一组值.每个值的位置都有编号(从0开始),整个数组用方括号表示. var arr = ['a', 'b', 'c']; 上面代码中的a.b.c就构成一个数组,两端的方括号是数组的标志.a是0号位置,b是1号位置,c是2号位置. 除了在定义时赋值,数组也可以先定义后赋值. var arr = []; arr[0] = 'a'; arr[1] = 'b'; arr[2] = 'c'; 任何类型的数据,都可以放入数组. var arr = [ {a:

廖雪峰javascript教程学习记录

$1.数据类型和变量 1.不区分整数和浮点数,统一用Number 2.字符串String 3.布尔值 注意: (1) 实际上,JavaScript允许对任意数据类型做比较; 要特别注意相等运算符==. 第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较. 由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较. (2) 另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己: NaN === NaN; //

JavaScript标准参考教材(alpha)--笔记

一.导论 二.基本语法 1.严格来说var a=1与a=1效果不太一样,delete命令无法删除前者. JavaScirpt是一种动态类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值. JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行.中文是合法的标识符,可以用作变量名. switch语句后面的表达式与case语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(===).swidth结构不利于代码重用,往往可以用对象形式重写. do

廖雪峰JS教程学习记录---字符串

1.由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用'...'表示`这是一个 多行 字符串`; 2.字符串常见的操作如下: s.length; // 13 要获取字符串某个指定位置的字符,使用类似Array的下标操作,索引号从0开始: s[12]; // '!' s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined 3.需要特别注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何

《Javascript高级程序设计》学习记录(一)

最近又开始重新阅读<javascript高级程序设计>了,记忆中这是第三次了,但是前面都是走马观花式的过了,这次还是需要好好整理和实践一番了. 虽然是一些基础概念,但是还是有好多容易注意的地方,不知道它的玄机还有这么多,特在此记录一下,防止自己忘记,同时也能增加自己的理解 (1)javascript中共有5种简单的数据类型:Undefined,Null,Boolean,Number,String,一种复杂的数据类型Object (2)typeof操作符 在javascript中,typeof和

简明 Python 教程--学习记录

注意,没有返回值的return语句等价于return None.None是Python中表示没有任何东西的特殊类型.例如,如果一个变量的值为None,可以表示它没有值.除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句.通过运行printsomeFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:def someFunction():passpass语句在Python中表示一个空的语句块. 切片操作符中的第一个数(