js相关总结
目 录
1.编程语言
1.1 编程
编程:就是让计算机为解决某个问题而使用某种程度设计语言编写程序代码,并最终得到结果的过程。 计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
1.初始 javaScript
1.1 javaScript 历史
1.布兰登.艾奇 (Brendan Eich,1961年~)。
1.2 javaScript 是什么
1.javaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思) 2.脚本语言:不需要编译,运行过程中由(js引擎)逐行来进行解释并执行 3.现在也可以基于Node.js技术进行服务器端编程
1.3 java Script 的作用
1. 表单动态校验 (密码强度检测) (js生产最初的目的) 2.网页特效 3.服务端开发(Node.js) 4.桌面程序(Election) 5.App(Cordova) 6.控制硬件-物联网(Ruff) 7.游戏开发(cocos2d-js)
1.4 浏览器执行 JS简介
浏览器分成两部分 渲染引擎和jS引擎 1.渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本webkit 2.js引擎:也称为JS解释器。用来读取网页中的javaScript代码,对其处理后运行,比如chrome 浏览器的V8 浏览器本身并不会执行js代码,而是通过内置javaScript 引擎(解析器)来执行js代码。Js引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所有javaScript语言归为脚本语言,会逐行解释执行。
1.5 JS的组成
1.ECMAScript
ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为javaScript,但实际上后两者是ECMAScript语言的实现和扩展。
2.DoM---文档对象模型
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标记语言的标准编程接口。通过DOM提供的接口尅对页面上的各种元素进行操作(大小、位置、颜色等)。
3.BoM--浏览器对象模型
BOm(Browser Object Model,简称BOM)是指浏览器对象模型,他提供了独立内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
1.6 JS初体验
js 有三种书写位置,分别是行内、内嵌和外部。
1.行内式
1.可以将单行或少量js代码写在html标签的事件属性中(以on开头的属性),如 :onclick 2.注意单双引号的使用:在html中我们推荐使用双引导,js中我们推荐使用单引号 3.可读性差,在html中编写js大量代码时,不方便阅读; 4.引导易错,引导多层嵌套匹配时,非常容易弄混 5.特殊情况下使用
2.内嵌JS
1.可以将多行js代码写到<script>标签中 2.内嵌js是学习时常用的方式
3.外部js文件
1.利用html页面代码结构化,把大段js代码独立到html页面之外,既美观,也不方便文件级别的复用 2.引用外部js文件的script标签中间不可以写代码。 3.适合于jS代码量比较大的情况
3.javaScript输入输出语句
为了方便信息的输入输出,js中提供了一些输入输出语句,其常用的语句如下:
1.变量概述
1.1什么是变量
1.2 变量在内存中的存储
本质: 变量是程序在内存中申请的一块用来存放数据的空间。
2.变量的使用
1.声明变量
1.var 是一个JS关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管 2.age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间
3.变量的初始化
var myname = 'frank';
1.4 变量语法扩展
1.更新变量
一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
3.声明变量特殊情况
1.数据类型简介
1.1 为什么需要数据类型
在计算机中,不同的数据所需占用的存储空间是不同,为了便于吧数据分成所需要内存大小不同的数据,充分利用存储空间,于是定义不同的数据类型。
1.2 变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型,变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。javaScript是一种弱类型或者说动态语言。这意味着不同提前声明变量的类型,在程序运行过程中,类型会被自动确定。
注意:js的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的 javaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型:
1.3 数据类型的分类
js把数据类型分为两类: 1.简单数据类型 (Number,String,Boolean,Undefined,Null) 2.复杂数据类型 (object)
2.简单数据类型
2.1 简单数据类型 (基本数据类型)
2.2 数据型 Number
javaScript数字类既可以用来保存整数值,也可以保存小数(浮点型).
1.数字型进制
最常见的二进制有二进制、八进制、十进制、十六进制。
2.数字型范围
Number.MAX_VALUE 最大值 NUMber.MIN_VALUE 最小值
3.数字型三个特殊值
Infinity , 无穷大,大于任何数值 -Infinity 无穷小,小于任何数值 NaN ,Not a number ,代表一个非数值
4 isNaN()
用来判断一个变量是否为非数字的类型,返回true或者false
2.3 字符串型 String
字符串型可以是单引号中的任意文本,其语法为双引号“”和单引号‘’。
1.字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
2.字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。 转义符都是 \ 开头的,常用的转义符及其说明如下:
3.字符串长度
1.字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。 2.拼接前会把与字符串相加的任何类型转成字符串,在拼接成一个新的字符串
+ 号总结口诀:数值相加 ,字符相连
2.5 布尔型 Boolean
布尔类型有两个值:true和false,其中true表示真(对),而false表示假 (错)。 可以参与数据计算
2.6 Undefined和Null
一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
3.获取变量数据类型
3.1 获取检测变量的数据类型
typeof可以用来获取检测变量的数据类型
3.2 字面量
字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。
4.数据类型转换
4.1什么事数据类型转换
使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法算法,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。 我们通常会实现3种方式的转化: 1.转换为字符串类型。 2.转换为数字型。 3.转换为布尔型。
4.2 转换为字符串
注意: 1.toString()和String()使用方式不一样。 2.三种转换方式,我们更喜欢用第三种加号拼接字符串转方式,这一种方式也称之为隐式转换。
4.3 转换为数字型(重点)
4.4 转换为布尔型
1.代表空、否定的值会被转换为false,如 ''、0、NaN、null、undefined 2.其余值都会被转换为true
1.解释型语言和编译型语言
1.概述
计算机不能直接理解任何除机器语言以外的语言,所以必须要把握程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
1.翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同 2.编译器是在代码执行之前进行编译,生成中间代码文件 3.解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)
2.执行过程
2.标识符、关键字、保留字
1.标识符
标识符:就是指开发人员为变量、属性、函数、参数取的名字。
2.2 浮点数的精度问题
浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数。 所以:不要直接判断两个浮点数是否相等!
注意:递增和递减运算符必须和变量配合使用。
3.3 前置递增和后置递减小结
1.前置递增和后置递增运算符可以简化代码的编写,让变量的值+1,不一起写法更简单 2.单独使用时,运行结果相同 3.与其他代码联用时,执行结果会不同 4.后置:先原值运算,后自加 (先人后己) 5.前置:先自加,后运算 (先已后人) 6.开发时,大多使用后置递减/增,并且代码独占一行
4.2 = 小结
注意:逻辑与 1.语法:表达式1 && 表达式2 2.如果第一个表达式的值为真,则返回表达式2 3.如果第一个表达式的值为假,则返回表达式1
5.数组
创建数组 var number = [] var number = ['a','1',4] var number = new Array(); 获取数据长度 number.length // 获取数组长度
5.1 通过修改 length 长度新增数组元素
1.可以通过修改length长度来实现数组扩容的目的 2.length属性是可读写的
1.函数的概念
在JS里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。虽然for循环局也能实现一些简单的重复操作,
2.函数的使用
函数在使用时分为两步:声明函数和调用函数。
2.1声明函数
function 函数名(){ } function 声明函数的关键 全部小写 函数不调用自己不执行 注意:声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。
2.3 函数的封装
1.函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口 2.简单理解:封装类似于将电脑配件整合组装到机箱中(类似快递打包)
5.arguments的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置一个arguments对象,arguments对象中存储了传递的所有实参。
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有一下特点: 1.具有length属性 2.按索引方式存储数据 3.不具有数组的push,pop等方法
1.作用域
1.1 作用域概述
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
2.3 全局变量和局部变量的区别
1.全局变量:在任何一个地方都可以使用,只有在浏览器关闭时才会被销毁,因此比较占内存 2.局部变量:只在函数内部使用,当其所在的代码块执行时,会被初始化;当代码块运行结束后,就会被销毁,因此更节省内存空间
1.预解析
javaScript代码是由浏览器中的JavaScript解析器来执行的。javaScript解析器在运行javaScript代码的时候分为两步:预解析和代码执行。
注意: var 定义的是局部变量 a = 4; 这里是全局变量 其他的是正常的
2.创建对象的三种方式
在javaScript中,现阶段我们可以采用三种方式创建对象(object): 1.利用字面量创建对象 var obj = { uname: '张三疯' } 2.利用new Object创建对象 var obj = new Object(); var date = new Date(); var shuzu = new Array(); obj.uname = '张三疯' 3.利用构造函数创建对象 function Star(uname,age,sex){ this.name = uname; this.age = age; this.sex = sex; }
变量、属性、函数、方法总结 1.变量:单独声明赋值,单独存在 2.属性 : 对象路面的变量称为属性,不需要声明,用来描述该对象的特征 3.函数:单独存在的,通过 “函数名()“ d的方式就可以调用 4.方法:对象里面的函数称为方法,方法不需要声明,使用 "对象。方法名()" 的方式就可以调用,方法用来描述对象的行为和功能。
3.new 关键字
new 在执行时会做四件事情: 1.在内存中创建一个新的空对象 2.让this指向这个新的对象。 3.执行构造函数里面的代码,给这个新对象添加属性和方法。 4.返回这个新对象(所以构造函数里面不许哟return).
for(var k in obj){ k;// 变量 输出 得到的是属性名 obj[k];// obj[k] 得到是 属性值 }
1.内置对象
1.javascript中的对象分为3种:自定义对象、内置对象、浏览器对象。 2.前面两种对象是js基础内容,属于ECMASCript;第三个浏览器对象属于我们js独有的,我们jsAPI讲解。 3.内置对象就是指js语言自带的一些对象,这些对象提供开发者使用,并提供了一些常用的或是最基本而必要的功能 (属性和方法) 4.内置对象最大的优点就是帮助我们快速开发
原文地址:https://blog.csdn.net/weixin_42376775/article/details/143584655
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!