Summary—【base】(JavaScript)

1、认识Js

1.1 Js就是一门运行在客户端浏览器的脚本编程语言

1.2 组成

ECMAScript:Js的语法标准

DOM:JS操作网页上的元素的API(应用接口),即操作网页

BOM:JS操作浏览器的部分功能的API,即控制浏览器

1.3特点

①简单易用

②解释执行(解释语言):JS源代码是直接通过JS引擎执行的,并且是逐行解释执行

③基于对象

2、JS与HTML、CSS

Html:  是用来制作网页,简单来说就是编写网页结构。

CSS:用来编写网页的样式

Javascript:   实现网页与客户之间互动的桥梁,让网页具有丰富的生命力

3、JS执行过程中的小原理

1)html页面中出现<script>标签后,就会让页面暂停等待脚本的解析和执行。

2)无论当前脚本是内嵌式还是外链式,页面的下载和渲染都必须停下来等待脚本的执行完成才能继续,这在页面的生命周期中是必须的。

例如:通过外链式js文件查看加载速度。

4、JS语法规范

4.1 js书写位置

①与css类似,直接嵌入到html页面中,放到页面中任何一个位置都可以。

②文件调用:JavaScript代码写到另一个文件当中(其后缀通常为“.js”),然后用格式为“<script src="javascript.js"></script>”的标记把它嵌入到文档中。

4.2 基础知识

4.3 注释语法

// 单行注释 ;       /**/  多行注释 ; 快捷键:ctrl+/

 4.4 声明变量

①变量定义:       var 自定义名称;

②变量的赋值:    通过“=”复制运算符给变量赋值

③变量的命名规范:

1)不能使用纯数字定义,并且不能以数字开头;

2)不能使用特殊字符定义变量或者以特殊字符开头,下划线_除外

3)不能使用关键字定义

4)不推荐使用汉字定义

5)不推荐使用保留自定义变量

6)JS中严格区分字符大小写

5、数据类型介绍

5.1 简单数据类型

①Number类型:所有的数字(整数,小数,负数)

表示方式:十六进制:以0x开头,同时以0—9或者a(A)—f(F)

八进制:以0开头,0—7组成

②String(字符串类型):凡是用" "或者‘ ‘引起来的都是字符串类型

转义字符:\"     转双引号

\‘      转单引号

\r      回车符

\n      换行

③Boolean(布尔类型): 取值只有两种——true 和 false

④NULL:值为空

⑤“ ” :空字符串

⑥undefined :未初始化——定义了变量没有给变量赋值

 5.2 复杂数据类型

①Object(对象)

②Array (数组)

6、比较运算符

>    <    !=    >=    <=

其结果:一种是true(正确的);一种是false(错误的)

7、JS中的运算符

+ 加
i)当两个Number类型的变量相加,结果为Number
ii)当一个Number类型的变量和一个String类型的变量相加,最后结果为字符串(加号起到的是连接的作用)
- 减 i)当两个Number类型的变量相减,结果为Number
ii)当一个Number数据类型的变量和一个数字的字符串类型变量相减,最后的结果为Number类型
* 乘
结果与减法的结果一致

/ 除
结果同上,区别:当一个数字除以0最后的结果为 infinity(Infinity: 无穷大的数字)
%       取余
获取余数。
()     优先级
有括号先算括号里面的值

8、等号运算符

运算符 含义
= 赋值运算符
== 等于,判断变量是否相同,不关心数据类型是否相同,只关心内容是否相同
=== 全等,不仅判断内容是否相同,还要判断数据类型是否一致
!= 不等于,判断的是内容,不考虑数据类型
!== 不全等于,判断的是内容和数据类型

9、逗号运算符

var n1=123, n2=456;  //变量的集体申明

10、Math对象方式使用

Math.ceil()   结果:整数  没有对数字进行四舍五入

Math.floor()  结果:整数  没有对数字进行四舍五入

Math.max(n1,n2);     返回两个数字的最大值

Math.min(n1,n2);      返回两个数字的最小值

Math.pow(n1,n2)  返回数字的几次方

Math.round(n2)       四舍五入

Math.random()       随机数

11、数据类型判断

——typeof(变量)  直接获取变量的数据类型

①NaN(not a number):number数据类型

②变量的取值为null:  变量的数据类型object

③undefined取值的变量或者变量未赋值: 数据类型为undefined

④infinity: 数据类型属于number类型

12、数据类型转化

① 隐式类型转化

② 强制类型转化

12.1 字符串转化为数字

1)隐式类型转化——只要将数字的字符串与0相减(参与运算加法运算除外)

2) 强制类型转化——Number()   parseInt()  parseFloat()

①Number方式转化后:原来的数字,如果数字后面跟有非数字的字符,那么转化失败。

②ParseInt()方法转化后:保留的是整数部分,如果后面跟有非数字的字符,能转化成功。

③ParseFloat(): 还是保留原来的数字,如果数字后面跟有非数字的字符,那么转化成功。

12.2 数字转化为字符串

1)隐式类型转化——通过prompt方法可以实现转化或者将当前数字和一个字符串相加

2)强制类型转化—— String()  ;  变量.tostring()

12.3 其他类型转化为布尔类型

1)隐式类型转化——通过取反面实现转化

2)强制类型转化—— Boolean();

除0外所有的数据类型都转化为true  ,0 转化为false

13、逻辑运算符

——注意:逻辑运算之前,必须是两个Boolean类型的数据进行 ||  && ! 运算

 13.1  ||  或 

1)如果有一个结果为false 和一个结果为true进行或运算 结果为: true

2)如果两个结果都为false ,  结果为false

3)如果两个结果都为true,进行或运算后结果为 true

结果1 结果2 || 运算结果
true true true
true false true
false true true
false false false

 13.2  && 且

结果1 结果2 && 运算结果
true true true
true false false
false true false
false false false

 13.3    !非

1)如果为true     非运算后  结果为false

2)如果为false    非运算后 结果为true

14、三元运算符

14.1 语法结构——条件表达式?结果1:结果2

 14.2 含义——问号前面的位置是判断的条件,判断结果为Boolean型,为true时执行结果1,为false时执行结果2。可看成是 if....else... 的另一种写法

15、逻辑结构

15.1 if...else条件分支

1  if(条件表达式)     条件表达式的结果必须为Boolean
2             {
3                   如果条件表达式的结果为true,那么执行这里面的代码
4           }else{
5                  如果条件表达式的结果为false,那么执行这里面的代码
6          }

 15.2 if...else if...else嵌套

 1 if(条件表达式1)
 2  {
 3       结果为true 执行该处代码;
 4  }else if(条件表达式2){
 5    结果为true 执行该处代码;
 6  }else if(条件表达式3){
 7    结果为true 执行该处代码;
 8  }else{
 9 如果以上代码条件都不满足,执行该处代码
10 }

15.3 switch

 1 switch(变量)
 2        {
 3         case 情况1:    //Case   后面的数据类型和switch里面的数据类型必须一致;并且可以作条件集体判断
 4     Js代码;
 5           break;
 6     case  情况2:
 7        Js 代码;
 8        break;
 9     default:
10        Js代码;
11 break;
12        }

15.4  while循环

1)语法:

初始化一个变量;

while(循环体){}

2)执行顺序:

当while条件表达式结果为true,那么一直会执行whlie循环体内的代码

  15.5 do...while 循环

1)语法结构:

1 do{
2        Js代码;
3    }while(条件);

2)区别于while循环:

do...while循环比while循环至少多执行一次代码

15.6 for循环

1 for(var a=1; a<=10; a++)
2     {
3         Js代码;
4     } 

15.7 break 与 continue 语句

1)break:直接跳出当前循环

2)continue:直接结束本次循环,进行下一次循环

1 while(判断条件){
2         if(特殊情况){
3             continue;  // 循环代码;
4         }
5 }

16、自增自减

1) a++    ++a    在原来变量的基础上加1的操作;

2) a--      --a    在原来变量的基础上减1的操作;

当 a++ 参与到运算中,先将a的值赋值给变量,然后变量a再加1;

当++a参与到运算中,先将a的值加1然后将计算后的结果赋值给变量

17、数组

1) 数组的概念——Js中的数组是将任意数据类型(数字、字符、布尔值等),放在一起按照一定顺序排练的集合

2)数组的两种定义方式

1 i)var   ary=new Array();
2 ii)var  ary1=[];

3)数组两种默认值赋值方式

 i)// var  ary=new Array(1,2,4,"asdf");//创建数组同时赋值

     // alert(ary);

 ii)// var   ary1=[1,2,3,5]; // 直接输入一个数组(称“字面量数组”)

     // alert(ary1); 

4)下标介绍——数组中所有元素从0位置开始

5)通过下标方式赋值及取值

1 var   ary=[];
2 ary[0]=1 ;  数组的赋值
3 alert(ary[0]);  数组的取值

6)length 属性介绍——数组名.length用来获取数组的长度(数组中包含多少个元素)

7)可通过for循环为数组赋值及取值

8)数组合并方法concat介绍

var newArray =  array.concat(ary);

9)数组join方法介绍

array.join();  // 默认返回的是一个逗号,值是字符串

18、函数(方法) function

——通常情况下,函数是完成特定功能的一段代码

1)函数的定义:

通过   function  +函数名+()  ===》函数的定义;

1  function  a()     /函数的定义
2       {
3   方法体;
4       }

2)函数的调用:

a(); // 直接写上方法名就可以实现方法的调用

时间: 2024-10-18 23:22:32

Summary—【base】(JavaScript)的相关文章

Summary—【base】(HTML)

Html知识点: 1. 建议开发人员计算机基本配置 a) 显示所有文件的后缀名* b) 文件的排列方式改为详细信息,并且名称一定要能够全部显示出来 c) 使用小的任务栏 d) 将常用的工具锁定到任务栏中 2. 浏览器与服务器 a) 浏览器与服务器之间存在交互关系 b) 浏览器的内核又被称之为渲染引擎 c) 目前比较主流的浏览器内核: Trident:IE.猎豹浏览器.360浏览器.极速安全浏览器 Gecko:Firefox WebKit:Safari Blink:chrome .opera 参考

数学建模基础理论【二】(定积分)

数学建模基础理论[二]                                                                               (定积分) 定义: 定积分分部计算: 平面图形面积: 直坐标情形 极坐标情形 平面曲线的弧长: 平行截面为已知的立体的体积:    

【综述】(中科院)樊彬老师-“局部图像特征描述概述”

[综述](中科院)樊彬老师-“局部图像特征描述概述” 这次我们荣幸地邀请到中国科学院自动化研究所的樊彬老师为我们撰写图像特征描述符方面的最新综述.樊彬老师在图像特征描述方面已连续发表了包括TPAMI.PR.ICCV.CVPR在内的多篇高质量论文.他的个人主页为:http://www.sigvc.org/bfan/ 以后我们将持续邀请国内外众多老师做最新的视觉计算专业综述报告,如特征提取和描述.稀疏表达.人体跟踪.三维衣服布料动画.轻量级Web3D等,并陆续在学术论坛上发布.各位老师会尽量使综述通

关于file文件操作的头文件 【LINUX】 (转载)

转自:http://blog.csdn.net/figo77ll/article/details/3156052 Linux下如果要对文件进行读取访问,需要包含至少以下两个头文件: #inlcude <unistd.h> #inlcude <fcntl.h> 其中fcntl.h包含了create和open命令,unistd包含了其他的诸如read, write, close等命令.很奇怪为什么不把fcntl的功能直接放到unistd里面呢.. 如果要对STDIN,STDOUT进行“

Headmaster&#39;s Headache UVa10817【DP】(缺)

题目: The headmaster of Spring Field School is considering employing some new teachers for certain subjects. There are a number of teachers applying for the posts. Each teacher is able to teach one or more subjects. The headmaster wants to select appli

【原创】(AMD)JavaScript模块化开发(dojo)

AMD原理等在这里就不进行说明了,作者也是菜鸟一枚,只是对自己的一个实例进行说明,如有错误,望指出. 首先,先推荐一篇AMD方面的文章,有兴趣的可以参考:http://efe.baidu.com/blog/dissecting-amd-what/ 接下来便是我自己的实例了: 1.模块化编程,则需要先有个模块了,而模块便是由HTML与js结合成的,在widget目录下,定义一个待编辑模块目录: HTML内容如下: 1 <div id="mapType-wrapper" class=

Web APi之EntityFramework【CRUD】(三)

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 前言 之前我们系统学习了EntityFramework,个人觉得有些东西不能学了就算完了,必须要学以致用,在Web API上也少不了增(C).删(D).改(U).查(R).鉴于此,我们通过EF来实现Web API上的增删改查. 之前对于EF的基

Web API 1之EntityFramework【CRUD】(三)

前言 之前我们系统学习了EntityFramework,个人觉得有些东西不能学了就算完了,必须要学以致用,在Web API上也少不了增(C).删(D).改(U).查(R).鉴于此,我们通过EF来实现Web API上的增删改查. 之前对于EF的基本操作都是很零散的,我们应该对于CRUD都是通过完整封装来实现,并且也显得比较专业,接下来首先对EF利用Responsitory仓储模式进行完整封装. EntityFramework完整封装 我们建立一个Core(核心类库),里面存放有关EF的完成封装.

Web API之认证(Authentication)两种实现方式【二】(十三)

前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再废叙述废话. 序言 对于所谓的认证说到底就是安全问题,在Web API中有多种方式来实现安全,[accepted]方式来处理基于IIS的安全(通过上节提到的WindowsIdentity依赖于HttpContext和IIS认证)或者在Web API里通过使用Web API中的消息处理机制,但是如果我们想应用程序运行在IIS之外此时Win