手机版

JavaScript每天必须学习的基础知识

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

基本概念

Javascript是一种解释性语言,浏览器充当解释器。当js被执行时,它首先被解释,然后在相同的范围内执行。由关键字函数和var定义的变量将在解释时被编译,并在编译后从上到下被执行和赋值给变量。

区分大小写

ECMASCript中的所有内容(包括变量、函数名和运算符)都区分大小写。

1 .变量

变量第一次使用时在内存中设置,方便以后在脚本中引用。使用变量之前先声明变量。您可以使用var关键字来声明变量。

var计数、金额、级别;//用单个var关键字声明的多个声明。

变量命名

变量名包括全局变量、局部变量、类变量、函数参数等。他们都属于这一类。

变量命名由带有有意义的类型前缀的单词组成,驼峰命名用于增加变量和函数的可读性。示例:sUserName,nCount。前缀规范:每个局部变量都需要有一个类型前缀,可以分为:s:根据类型表示一个字符串。例如:sName、sHtml;n:数字。例如:nPage、nTotal;b:表示逻辑。例:bChecked,bHasLogin;a:代表数组。例如:ArtI,一个组;r:代表正则表达式。例如:rDomain、rEmail;代表功能。例如:fGetHtml,fInit;o:表示上面没有提到的其他对象,如oButton、other;g:表示一个全局变量,例如:gUserName,gLoginTime;

JScript是一种区分大小写的语言。创建合法变量名应遵循以下规则:

请注意,第一个字符不能是数字。

它可以后跟任何字母或数字和下划线,但不能是空格。变量名不能是保留字。

Javascript是一种弱类型语言,JavaScript会忽略额外的空格。您可以在脚本中添加空格,以提高其可读性。

Var是javascript的保留字,表示变量描述跟在后面,变量名是用户自定义的标识符,变量之间用逗号隔开。

如果变量已声明但未赋值,则该变量存在,其值为未定义的Jscript值。

强制类型转换

在JScript中,您可以对不同类型的值执行操作,而不用担心Jscript解释器生成异常。相反,JScript解释器会自动将一种数据类型更改(强制转换)为另一种数据类型,然后执行操作。例如:

操作结果

向字符串中添加数值会将数值强制转换为字符串。将布尔值添加到字符串会强制将布尔值添加到字符串中。将数值添加到布尔值会将布尔值强制转换为数值。

若要将字符串显式转换为整数,请使用parseInt方法。若要将字符串显式转换为数字,请使用parseFloat方法。

JavaScript变量的生存期:在函数中声明变量时,只能在函数中访问。当函数退出时,该变量将被撤销。这样的变量称为局部变量。您可以在不同的函数中使用同名的局部变量,因为只有声明变量的函数才能识别它们。

如果在函数外声明变量,页面上的所有函数都可以访问该变量。这些变量的生存期从声明后开始,到页面关闭时结束。

Js可变思维导图

2.2.js的数据类型

jscript主要有三种数据类型,两种复合数据类型和两种特殊数据类型。

主要(基本)数据类型字符串数字布尔值

复合(引用)数据类型对象数组

特殊数据类型Null

`未定义'

字符串数据类型:字符串数据类型用于表示JScript中的文本。在js中,虽然双引号(“”)和单引号(“”)都可以表示字符串,但它们之间几乎没有区别。但只有双引号("")用来表示该字符串被认为是最好的。

字符串值是零个或多个Unicode字符(字母、数字和标点符号)排列在一起的字符串。

什么是Unicode?

Unicode为每个字符提供了一个唯一的数值,无论平台、程序或语言如何。开发Unicode是为了提供一种统一的编码来处理世界上的所有字符。

数字数据类型

我们需要理解,JScript在内部将所有数值表示为浮点值,因此在Jscript中整数和浮点值没有区别。

布尔数据类型

布尔(逻辑)只能有两个值:真或假。

Js数组和对象

详见我的文章-javascript学习总结-数组和对象部分

空数据类型:可以通过给变量赋值来清除变量的内容。

Jscript中运算符的类型将报告空值作为对象类型,而不是空类型。

html xmlns=' http://www . w3 . org/1999/XHTML ' XML : lang=' en ' head meta http-equiv=' Content-Type ' Content=' text/html;charset=UTF-8'/title/title脚本类型='text/javascript' alert(类型为null);/script/headbody/body/html null用于表示还不存在的对象,通常用于表示函数试图返回一个不存在的对象。

未定义的数据类型:

当对象属性不存在,并且变量已声明但从未赋值时,将返回未定义的值。

null和undefined之间的区别

警报(类型未定义);//输出“未定义”警报(类型为null);//输出“object”警报(null==undefined);//输出‘true’ECMAScript认为undefined是从null派生的,所以将它们定义为相等。

alert(null===未定义);//输出“false”警报(type of null==type of undefined);//输出“false”null不同于未定义的类型,因此输出“false”。并且===代表绝对相等,其中null===未定义的输出为false

此外,这里还介绍了一个重要的数据类型——。

参考数据类型

javascript引用数据类型是存储在堆内存中的对象。JavaScript不允许直接访问堆内存空间中的位置和堆内存空间的操作,而只允许通过堆栈内存中操作对象的引用地址。因此,存储在堆栈内存中的引用类型数据实际上是堆内存中对象的引用地址。有了这个引用地址,您可以快速找到存储在堆内存中的对象。

让我们演示这个引用数据类型的赋值过程

自然,将name属性添加到obj2实际上是将name属性添加到堆内存中的对象。obj2和obj1只存储堆栈内存中堆内存对象的引用地址,虽然它们也被复制,但它们指向同一个对象。因此,改变obj2会导致obj1改变。

基本类型值是指存储在堆栈内存中的简单数据段,也就是说,这些值完全存储在内存中的一个位置。引用类型值指的是存储在堆内存中的对象,也就是说,存储在变量中的实际上只是一个指针,它指向内存中存储对象的另一个位置。

简而言之,堆内存存储引用值,堆栈内存存储固定类型值。

在ECMAScript中,变量可以有两种类型的值,即原始值和引用值。

原始值存储在堆栈中的简单数据段中,也就是说,它们的值直接存储在变量访问的位置。引用值是存储在堆中的对象,也就是说,存储在变量中的值是指向存储对象的内存的点。

脚本类型=' text/JavaScript " var box=new Object();//创建一个引用类型var box=' lee//基本类型值是string box.age=23//在基本类型值中添加属性很奇怪,因为只有对象才能添加属性。alert(box . age);//不是引用类型,不能输出;/script 3的运算符。JScript

优先级:指操作者的操作顺序,先算哪个部分。组合的:同一个优先算子的计算顺序,是从左到右还是从右到左。

数据类型转换和基本封装类型

字符串()转换为字符串类型数字()转换为数字类型布尔()转换为布尔类型

ParseInt:将字符串转换为整数。从字符串的开头开始解析,在第一个非整数位置停止解析,并返回之前读取的所有整数。如果字符串不以整数开头,则返回NaN。例如,Parseint(“150 hi”)返回的值是150,Parseint(“hi”)返回的值是NaN。ParseFloat:将字符串转换为浮点数。从字符串的开头开始解析,在第一个非整数位置停止解析,并返回之前读取的所有整数。如果字符串不以整数开头,则返回NaN。例如,parseFloat('15.5 hi ')返回的值是15.5,parseFloat('hi 15.5 ')返回的值是NaN。

Eval:将字符串计算为javascript表达式,并返回执行结果;如果没有结果,则返回undefined。基本包装类型

每当读取一个基本类型值时,后台将创建一个基本包装类型的相应对象,以便可以调用一些方法来操作数据。基本包装类型包括布尔值、数字和字符串

var box=' trigkit4//文字框. name=' Mike ';//无效属性box.age=function () {//无效方法返回22;};//new运算符被写成var box=new String(' trig kit 4 ');//新运算符box.name=' mike//有效属性box.age=function () {//有效方法返回22;};字符串类型包含三个属性和大量可用的内置方法属性描述。length :返回字符串的字符长度。构造函数:返回创建字符串对象的函数。prototype :通过添加属性和方法扩展了字符串定义

4.js过程控制

对于js过程控制语句,这里只有少数难以理解。其他的就不详细描述了。随后附上一张思维导图。

1.for … in语句对应于每个对象或数组的每个元素,并执行一个或多个语句。for(对象|数组中的变量)语句

参数:变量:必需。变量,可以是对象的任何属性或数组的任何元素。对象,数组:可选。要遍历的对象或数组。声明:可选。要针对对象的每个属性或数组的每个元素执行的一条或多条语句。它可以是复合语句。

虽然条件控制语句(如if语句)在执行多个语句时只需要使用代码块(在“左花括号”{“左花括号”}”的末尾),但最佳做法是始终使用代码块。

if(args)alert(args);//容易出错的if(args){ alert(args);//建议使用}5.js函数

函数是事件驱动的或可重用的代码块,在调用时执行。

Jscript支持两种函数:一种是语言内部的函数,另一种是自己创建的。允许JavaScript函数没有参数(但不能省略包含参数的括号),或者可以将参数传递给函数使用。

关于函数的更多知识,请访问我的另一篇文章:javascript学习总结(4)函数函数

对象的合成方法——函数:进程,动态属性——变量:状态,静态

最后附上前人总结的思维导图:

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:JavaScript每天必须学习的基础知识是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。