JavaScript基础总结

JavaScript高级的学习在于对象的学习,而这些的基础就是JavaScript基础了,所以在学习高级之前先将JavaScript基础部分复习一下吧.

第一部分:变量

变量是贯穿了JavaScript学习和应用的每个方面,在变量部分我们需要掌握以下几个方面:

1 变量作用域

变量的作用域分为两个:全局作用域和局部作用域

全局作用域:指script标签下的全局范围内.

全局变量:指在script标签根节点声明的变量为全局变量,或者window.变量的方式获取的变量也为全局变量,或者函数中未被声明的变量会进行隐式声明成全局变量.

局部作用域:指函数内部范围.

局部变量:指在函数内部声明的变量.

2 变量的声明提前

在html页面加载html代码时,会先将变量的声明提升至变量对应作用域的最前面.

也就是说如果在变量声明赋值之前调用变量的话,只能获取到变量但是无法获取到变量的赋值,返回的undefined.

3 变量的调用

变量的调用需要注意两点:

1. 局部作用域调用变量时,先查找是否存在对应变量名的局部变量,如果没有就去全局中找对应变量名的全局变量.

2. 函数中发生隐式声明的全局变量,需要先调用函数后才能在全局作用域中读取到该变量.

第二部分:数据类型

JavaScript中注意的数据类型分为基本类型和复杂类型,每个包含和注意的部分有许多,其中我们需要注意的有:

1 数据类型分类

基本类型:数组,字符串,布尔,null,undefined.

复杂类型:对象类型(键值对的集合):window,document,数组,正则,函数等

2 检测数据类型

我们可以使用typeof检测不同类型的数据,但是其中有几个是特殊的.

null检测到数据类型是"object",function检测到数据类型是"function".

其他的对象的数据类型都是"object",还有基本数据检测到的是对应的数据类型.

3 数据类型转换

类型转换中最主要的是数字和字符串的相互转换.

数字转字符串:toString(),+"",String().

字符串转数字:Number(),perseInt(),parseFloat().

4 值类型和引用类型的传递

值类型就是基本数据类型,引用类型就是复杂数据类型,两者的值传递是不同的.

值类型的传递:发生传递时是将一个变量中的值复制一份给另一个变量.

引用类型的传递:发生传递时是将指向对象的地址引用给另一个变量.

第三部分:运算符

运算符类型很多,我们不止需要知道有哪些运算符,还需要知道每个运算符对应的功能是哪些.

1 算术运算符:+,-,*,/,%,++,--

注意:++a:先自加后参与运算

  a++:先将原值参与运算,后自加

2 赋值运算符:=,+=,-=....

3 比较运算符

== 会进行隐式数据类型的转换,再判断值,并不考虑数据类型

=== 不会进行隐式数据类型的转换,先判断数据类型后再判断值

4 逻辑运算符

&&:如果左边的值为真值的话,直接返回右边的值;如果左边的值为假值的话,直接返回左边的值.

||:如果左边的值为真值的话,直接返回左边的值;如果左边的值为假值的话,直接返回右边的值.

注意:

转换为布尔为假的值有:0,false,null,undefined,NaN,""

5 三元运算符

判断语句?成立时输出的值:不成立时输出的值;

第四部分:语句

语句主要包含以下几个:

选择语句:if,if..else,if..elseif..else,switch(){case}

循环语句:while,do..while,for,for..in

语句的使用需要根据实际情况而定,在功能满足的情况下,视具体情况将语句进行简化.

第五部分:函数

函数的使用主要是函数的参数,返回值,和函数的声明

1 函数的参数

函数的参数分为形参和实参:

形参:指的是函数声明时定义的函数内部需要用到的参数.

实参:指的是函数调用时传递给函数的参数.

2 返回值

返回值的存在与否决定于return

如果函数内没有return护足return后没有需要返回的值,则我们获取到的返回值为undefined.如果return后有值,则获取到的返回值就是这个值.

注意:return后除了声明的语句以外都不在执行,原因是声明语句会被提升至作业域的最前面

3 函数声明提升

函数声明也会像变量声明一样被提升至作用域的最前面,但是如果函数声明和变量声明同时被提升时,会先提升变量声明后提升函数声明.

时间: 2024-10-13 16:06:43

JavaScript基础总结的相关文章

javascript入门书籍推荐《javascript基础教程》

前段时间看javascript高级教程的时候,发现很多基础的javascript概念,自己不懂. 网上搜了一下,看到大家对<javascript基础教程(第8版)>评价不错,买了一本. 作者: (美)Tom Negrino Dori Smith 译者: 陈剑瓯 柳靖 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 翻开看了后,受益匪浅,决定将这本书推荐给javascript的入门童鞋. 这本书的读者,要有一定的HTML基础,因为javascript基本都是对Dom的操作,所以,有一定的HT

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

Javascript.01 -- Javascript基础

Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和sun合作. Java+script   ===> javascript 1.2 W3c规范 ?结构标准        html ?表现标准   css ?行为标准      js 1.3 JavaScript和ECMAScript的关系 ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协

javascript基础学习(十五)

javascript之cookie 学习要点: cookie介绍 创建与获取cookie cookie的编码 cookie的生存期 cookie的路径 cookie的domain cookie的secure 一.cookie介绍 cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上.在javascript中,cookie主要用来保存状态,或用于识别身份. 二.创建与获取cookie 创建cookie的语法代码如下所示:document.cookie="name=value&q

javascript基础学习(八)

javascript之日期对象 学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date(); 二.将日期对象转换为字符串 将日期对象转换为字符串可以使用以下4种方法: date.toString();//将日期对象转换为字符串时,采

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

Javascript基础知识5

不要把相等运算符(==)与赋值运算符(=)搞混. 以&&运算符隔开的两个条件中的前者为错,则不会检测第二个条件的真假.利用这一点,可以提高脚本的速度. 使用带switch的多个条件 if(button=="next") window.location = "next.html"; else if(button=="previous") window.location = "pre.html"; else if(

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];