澳门新葡萄京官网首页 23

澳门新葡萄京官网首页JavaScript 学习笔记之操作符(续),javascript学习笔记

JavaScript 中没有强类型,所以字符串类型的数字有的时候候能够自动调换来数字。

JavaScript 学习笔记之操作符(续),javascript学习笔记

大器晚成、乘性操作符

1、乘法:*

     乘法操作符的片段破例准绳:

万一操作数都以数值,遵照常规的乘法计算,假设乘积超越了ECMAscript数值的表示范围,则赶回infinity或许-infinity
即使有贰个操作数是NaN,那重临结果正是NaN
如果是infinity与0相乘,返回NaN
如果infinity与非0数相乘,返回infinity或者-infinity
infinity与infinity相乘,返回infinity
如果有多少个操作数不是数值,后台会先调用number()将其转会为数值,再使用方面的法则

复制代码 代码如下:

<script type=”text/javascript”>
  
       alert(5 * 6);           //30
       alert(5 * NaN);         //NaN
       alert(Infinity * 0);    //NaN
       alert(Infinity * 2);    //Infinity
       alert(“5” * 5);         //25
       alert(true * 10);       //10
       alert(false * 10);      //0
     
   </script>

2、除法:/

   除法操作符的一些破例法则:

风华正茂经操作数都是数值,根据常规的除法总结,纵然商超越了ECMAscript数值的代表范围,则赶回infinity大概-infinity
若是有一个操作数是NaN,那重临结果正是NaN
如果是infinity被infinity除,返回NaN
如果是0被0除,返回NaN
如果是非0的有限数被0除,再次来到infinity或然-infinity
若是是infinity被非0的有数数除,再次回到infinity大概-infinity
万生龙活虎有二个操作数不是数值,后台会先调用number()将其转化为数值,再使用方面包车型客车平整

复制代码 代码如下:

  <script type=”text/javascript”>
         alert(5 / 5);           //1
         alert(5 / NaN);         //NaN
         alert(Infinity / Infinity);    //NaN
         alert(Infinity / 2);    //Infinity
         alert(5 / 0);           //Infinity
         alert(10 / true);       //10
         alert(10 / false);      //Infinity
     </script>

3、求模(余数):%

   求模操作符的部分异样准则:

如若操作数都以数值,依据常常的除法总计,重临除得的余数
假如被除数是无穷大,除数是有限数,那重回结果便是NaN
比如被除数是轻巧大,除数是0,重临NaN
如果是infinity被infinity除,返回NaN
若果被除数是零星大而除数是无穷大,重返被除数
假诺被除数是0,重回0
假若有一个操作数不是数值,后台会先调用number()将其转变为数值,再采纳方面包车型大巴准则

复制代码 代码如下:

<script type=”text/javascript”>
  
       alert(26 % 5);          //1
       alert(Infinity % 3);    //NaN
       alert(3 % 0);           //NaN
       alert(5 % Infinity);    //5
       alert(0 % 10);          //0
       alert(true % 25);       //1
       alert(3 % false);       //NaN
     
   </script>

二、加性操作符

1、加法操作符:+

风华正茂经操作数中有三个是字符串:

借使八个操作数都以字符串,那么将第4个操作数拼接到第二个操作数前面。
即使独有叁个操作数是字符串,那么将另一个操作数转变为字符串后再实践上述准则

复制代码 代码如下:

<script type=”text/javascript”>
        var result1 = 5 + 5;     //数字加数字
        alert(result1);           //10
        var result2 = 5 + “5”;   //数字加字符串
        alert(result2);           //”55″
    </script>

2、减法操作符:-

若是有四个操作数是字符串、布尔值、null也许undefined,则在后台先调用number()将其转会为数值,然后实践减法。

三、关系操作符

大于:>

小于:<

超越等于:>=

低于等于:<=

事关操作符特殊法则:

若果操作数是字符串,相比四个字符串相应的字符编码

假设操作数多少个是数值,则先将另多少个操作数转变为数值,再开展比较

别的数与NaN进行相比较,结果都是false

四、约等于操作符

1、相等和不等于:==和!=

这七个操作符都会先将操作数转换为同样类型再开展比较

转移时,相等和不对等操作符信守如下法则:

 假若中间叁个操作数的门类为 Boolean
,那么,首先将它调换为数字类型,false 调换为 0, true 将退换为 1。
固然内部二个操作数的类别是字符串,此外贰个为数字类型,那么,将字符串调换为数字实行比较。
只要内部叁个操作数是目的,另一个不是,则先调用操作数的valueof(卡塔尔国方法,拿到基本类型值之后再相比
正如时的独出心栽准则:

null 和 undefined 是相等的。
 null 和 undefined 不会转变为别的此外类型
意气风发旦其它多少个操作的结果为 NaN,那么相等相比较重临 false,不对等比较重返true。注意,就算多个操作数都为 NaN,重临结果生机勃勃致是 false,也等于说,NaN
不等于 NaN。
若是多个操作数都以指标,那么比较它们援引的值,假诺援引同五个指标,那么,重返真,否则,重返假。
2、全等和不全等:==和===

==会将操作数调换来同生龙活虎类型比较;

===不会更动类型,直接比较

例如:

复制代码 代码如下:

var result1 = (“55” == 55);   
var result2 = (“55” === 55);
alert(result1);//true
alert(result2卡塔尔; //false”55″是字符串,55是数字,类型区别样

五、条件操作符

变量=条件表明式?真值:假值

率先会对准则表达式求值,借使结果是真,则把真值赋给变量,假若为假则把假值赋给变量。

复制代码 代码如下:

 <script type=”text/javascript”>
         var num1 = 10;
         var num2 = 25;
         var num3 = (num2 > num1) ? num2 : num1;
         alert(num3);   //25
     </script>

六、赋值操作符

1、轻易赋值操作符:=

var num1 = 10;
num=num1+10;
2、复合赋值操作符:+=、-=、*=、/=、%=、>>=、<<=、>>>=

复制代码 代码如下:

  <script type=”text/javascript”>
         var num = 5;
         alert(num);     //5
         num += 5;
         alert(num);     //10
         num *= 2;
         alert(num);     //20
         num /= 10;
         alert(num);     //2
         num -= 2;  
         alert(num);     //0
     </script>

七、逗号操作符

逗号操作符能够在一条语句中举办多少个操作

用处:1、表明八个变量

var num1=1,num2=2,num3=3;
2、赋值

var num=(0,1,2,3)//num=3
在用于赋值操作时,逗号操作符总是回到最后叁个表明式的值。

练习区:

复制代码 代码如下:

  <script type=”text/javascript”>
         var num1 = 5;
         var num2 = 10;
         var message = “The sum of 5 and 10 is ” + num1 + num2;
         alert(message); 
    </script>

复制代码 代码如下:

<script type=”text/javascript”>
        alert(null == undefined);   
        alert(null === undefined);  
        alert(“NaN” == NaN);      
        alert(“NaN” === NaN);     
        alert(NaN == NaN);        
        alert(NaN === NaN);       
        alert(NaN != NaN);       
        alert(NaN !== NaN);        
        alert(false == 0);      
        alert(false === 0);      
        alert(true == 1);       
        alert(true === 1);    
        alert(null == 0);        
        alert(undefined == 0);   
        alert(5 == “5”);         
        alert(5 === “5”);                  
    </script>

上述正是本文的全体内容了,对于javascript的操作符的授课也就到此停止了,下篇文章我们来讲授javascript语句。

学习笔记之操作符(续),javascript学习笔记 少年老成、乘性操作符 1、乘法:*
乘法操作符的有个别区别常常准则: 假若操作数都以数值,依照…

为什么要有JavaScript

  • JavaScript最先的目标

  推断客商端的输入(在此之前的网速慢)

  • JavaScript今后的意义

  页面特效(PC端的网页效果卡塔尔国
  移动端(移动web和app)
  异步和服务器人机联作
  服务端开荒(nodejs卡塔尔

  • 演示JavaScript的炫酷

  
  

var a = “12”; alert(a + 3); // 123!!! alert(a – 3); // 9 alert(a *
3); // 36 alert(a / 3); // 4 alert(a > 11); // true alert(a < 11);
// false

浏览器是何等专门的学业的

澳门新葡萄京官网首页 1

如上,除了 +,其余都调换来数字了。再看:

JavaScript语言

JavaScript是社会风气上用的最多的脚本语言
脚本语言:不必要编写翻译,直接运转时边解析边施行的言语
JavaScript是生机勃勃种客商端的脚本语言

 

var a = “12”; alert(a + “3”); // 123!!! alert(a – “3”); // 9 alert(a
* “3”); // 36 alert(a / “3”); // 4 alert(a > “11”); // true alert(a
< “11”); // false

JavaScript的历史

马上专业于 Netscape 的 Brendan Eich,初阶入手为就要要 1991 年发行的
Netscape Navigator 2.0 开采二个称呼 LiveScript
的脚本语言,那时的指标是在浏览器和服务器(本来要叫它
LiveWire)端应用它。Netscape 与 Sun 及时到位 LiveScript 完成。就在
Netscape Navigator 2.0 将在正式发表前,Netscape 将其改名叫JavaScript,目标是为着接受 Java 那一个因特网时尚词汇。Netscape
的赌注最后收获回报,JavaScript 自此成为了因特网的必不可少组件。

鼎足而三
因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0
中揭橥了 1.1 版。刚好那时,微软说了算进军浏览器,发表了 IE 3.0
并搭载了一个 JavaScript 的克隆版,叫做 JScript(那样命名是为着制止与
Netscape 潜在的特许纠纷)。微软步向 Web
浏览器领域的那首要一步就算令其威望狼藉,但也变成 JavaScript
语言发展进程中的首要一步。
在微软跻身后,有 3 种分裂的 JavaScript 版本同期存在:Netscape Navigator
3.0 中的 JavaScript、IE 中的 JScript 以至 CEnvi 中的 ScriptEase。与 C
和其余编制程序语言分歧的是,JavaScript
并未二个业内来统风流倜傥其语法或特色,而那 3
中分裂的版本正好杰出了这么些主题材料。随着产业界忧虑的加码,那个语言的准绳明显已经从趋势看必须行动。

总结

 JavaScript、HTML、CSS

JavaScript、HTML、CSS各自的效果与利益
HTML 提供网页上海展览中心示的剧情(构造)
CSS 美化网页(样式)
JavaScript 调控网页行为(行为)
规划基准:
结构、样式、行为—分离!

  • 倘诺碰到:减、乘、除、相比较,操作数都会尝试转换来数字。
  • 而蒙受 +,唯有操作数全为数字类型,才是“加”,否则正是“字符串连接”。

JavaScript的组成

澳门新葡萄京官网首页 2

ECMAScript
JavaScript的语准则范
DOM
JavaScript操作网页元夜素的API
BOM
JavaScript操作浏览器部分机能的API

 

var a = “xyz”; alert(a + 3); // xyz3 alert(a – 3); // NaN alert(a * 3);
// NaN alert(a / 3); // NaN alert(a > 11); // false alert(a < 11);
// false

引入JavaScript

HTML页面书写JavaScript

澳门新葡萄京官网首页 3

引进外部JavaScript文件

澳门新葡萄京官网首页 4

 

请继续读书 JavaScript JS
浮点数总括不可靠、正确的缓和措施。

 script标签的属性

type
type=”text/javascript”
能够轻易
async
async=”async”
值可以大致,立刻异步下载外界js,不影响页面其余的操作,全部js达成推行
defer
defer=”defer”
值可以差非常的少,脚本延迟到文书档案完全被深入分析和呈现后再推行,独有外界脚本得以运用

JavaScript的变量

变量是在微处理器中蕴藏数据的一个标志符。
变量能够在宣称的时候赋值,也得以稍后赋值。
例如:
var number = 50;
var name = “马户”;
或者
var name;
name = “张三”;
可以在风流倜傥行上定义四个变量
var name,age,sex;

弱类型

JavaScript是弱类型的脚本语言
下边这两行代码在JavaScript中是法定的,原因是JavaScript是弱类型的语言。不推荐使用。
var age = 90;
age = “马户”;

 变量命名法规和行业内部

平整(必得固守卡塔尔(قطر‎
由字母、数字、下划线、$组成
不能够是重大字和保留字
分别轻重缓急写
规范(提出遵从卡塔尔
变量的称呼要有意义
变量的命名据守驼峰命名法,首字母小写,第二个单词的首字母大写
例如:userName

注释

单行注释
//单行注释
多行注释
/* 多行注释 */
疏解的行使
注解平常用来解释有些复杂代码的逻辑,方便与前期的护卫和支出
注脚日常用来对全体模块实行私分划分,方便于代码查找代码和掩护
注解经常用于:模块、函数、复杂逻辑申明、文件表明、维护记录等

目标

操纵多种常用的数据类型
Number
String
Boolean
Undefined //变量证明,但未赋值
null

数据类型

微处理器在蕴藏数据的时候是有等级次序的
JavaScript中的数据类型
轻松易行(基本、值卡塔尔(قطر‎数据类型
Number、String、Boolean
Undefined、Null
复杂(引用卡塔尔国数据类型(最近明白)
Object、Array、Date等
查阅当前变量的数据类型
typeof name
typeof(name)

☞轻松数据类型

  ◆number   数字类型

  ◆string     字符串类型

        var   s1=”123”;   s1的数据类型字符串

  ◆Boolean   布尔类型

   ◆true      真 (正确的)

   ◆false     假(错误的)

   ◆undefined     变量未初阶化

  var   s1;
定义了变量,可是未有给变量赋值,那么该值的数据类型正是  undefined
类型

 

  ◆变量取值为null的时候

    var   s1=null; 
表示变量值为空,该变量在内部存款和储蓄器中是不设有的。真正的空。   s1的数据类型为
object

 ☞复杂数据类型

◆object    对象

◆Array     数组

数值字面量

字面量
永久的值,令你从“字面上”精晓其含义。
数值字面量
var age = 18; // 数值字面量,18为字面值

Number类型
十进制
var num = 9;
扩充算数总结时,八进制和十五进制表示的数值最后都将被调换来十进制数值。
十一进制
var num = 0xA;
数字体系范围:0~9以及A~F
八进制
var num1 = 07; //对应十进制的7
var num2 = 019; //对应十进制的19
var num3 = 08; //对应十进制的8
数字种类范围:0~7
假使字面值中的数值高于了节制,那么前导零将被忽略,后边的数值将被看作十进制数值分析

Number类型

浮点数
var n = 5e-324;
浮点数值的万丈精度是 17 位小数,但在开展算术总结时其准确度远远比不上整数
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004
console.log(0.07 * 100);
天长日久不要测量试验有个别特定的浮点数值(不要判别四个浮点数是还是不是等于卡塔尔

数值范围

鉴于内存的限制,ECMAScript 并不可能保存世界上具备的数值
最小值:Number.MIN_VALUE,这几个值为: 5e-324
最大值:Number.MAX_VALUE,这一个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity

数值检测

NaN 非数值(Not a Number)
console.log(“abc”/18); //结果是NaN
NaN 与别的值都不等于,包含 NaN 自个儿
isNaN(卡塔尔国 :任何不可能被转移为数值的值都会形成这些函数重回 true
isNaN(NaN);// true
isNaN(“blue”); // true
isNaN(123); // false

String类型

字符串字面量
var name = “zhangsan”; //”zhangsan”字面量
字符串要用引号引起,单引号和双引号的功能是同样的
例如:
var name = “zhangsan”;
var name = ‘zhangsan’;
var name = ‘zhangsan”; //错误,单引号和双引号要成对现身
字符串是由二个三个字符组成的,获取多个字符串中字符的个数能够使用length
例如:var name=”zs”; alert(name.length);//2

转义符

要想打字与印刷”恐怕’如何是好?
var str = “hello “itcast””; //打字与印刷输出hello “itcast”
转义符

澳门新葡萄京官网首页 5

 

 

字符串的不可变

ECMAScript
中的字符串是不可变的,也正是说,字符串风流倜傥旦创造,它们的值就无法校正。
要转移有个别变量保存的字符串,首先要销毁原本的字符串,然后再用另八个包罗新值的字符串填充该变量
例如:
var str = “123”; str = str + “abc”;

字符串拼接

若是有八个字符串变量a,b,怎么着把那八个变量的值连接起来?
例如:
var a = “hello”;
var b = ” itcast”;
var c = a + b;
-思考:
var a = “100″;
var b = 100;
var c = a – b; //结果是什么?

Boolean类型

Boolean类型有多个字面量:true和false,而且区分轻重缓急写!
纵然如此Boolean 类型的字面值唯有五个,但 ECMAScript
中有所品种的值皆有与那五个 Boolean 值等价的值
例如:
var result = Boolean(“a”);
console.log(result); //结果是true

var result = Boolean(100);
console.log(result); //结果是true

转换成Boolean类型

其他项目能够转移成Boolean类型,平日接受在工艺流程序调节制语句前面
例如:
var message = “hello”;
if(message) { alert(message + ” world”) };

 澳门新葡萄京官网首页 6

Undefined类型

Undefined那是意气风发种相比较独特的类型,表示变量未赋值,那系列型独有后生可畏种值正是undefined
例如:
var message;
console.log(message); //结果是undefined
undefined是Undefined类型的字面量。
例如:
var message = undefined;
console.log(message);
typeof message; 获取到的是”undefined”

思考
上边代码输出的结果?
var message;
if (message) {
alert(“有值”);
}else{
alert(“无值”);
}

目标
精晓二种档次的更动
转变到字符串类型
转变来数值类型
调换来布尔类型

转变来字符串

两种调换到字符的点子
1、差非常的少每叁个值皆有toString(卡塔尔国方法
例如:
var age = 18;
var ageString = age.toString();
console.log(ageString); // 结果 “18”
var result = true;
var resultString = result.toString();
console.log(resultString);// 结果 “true”
数值类型的toString(卡塔尔国,能够带领一个参数,输出对应进制的值
var num = 10;
console.log(num.toString()); //”10″ 默认是10进制
console.log(num.toString(10));//”10″
console.log(num.toString(8)); //”12″
console.log(num.toString(16));//”a”
console.log(num.toString(2)); //”1010″

八个把值调换到数值类型的函数:Number(卡塔尔(قطر‎、 parseInt(卡塔尔(قطر‎、 parseFloat(卡塔尔国
parseFloat(卡塔尔(قطر‎把字符串转变到浮点数
parseFloat(卡塔尔和parseInt相当帅似,分裂之远在与
parseFloat会深入分析第多少个. 碰到第三个.可能非数字结束
parseFloat不帮助首个参数,只好解析10进制数
生机勃勃经分条析理的剧情里独有整数,解析成整数

转变到布尔类型

二种转移布尔类型的法子
Boolean()函数
例如:
var b = Boolean(“123”); //返回yes
流程序调节制语句会把前面的值隐式转变来布尔类型
例如:
var message;
if (message卡塔尔 { //会自动把message调换来false
//todo…
}
转换为false的值:false、””、0和NaN、null、undefined

猜猜看,下边包车型的士语句的结果
var b = !!”123″;

率先个逻辑非操作会基于无论什么操作数重临贰个布尔值
其次个逻辑非操作则对该布尔值求反
于是乎就拿到了那些值真正对应的布尔值(结合性从右向左)

目标
算数运算符
一元运算符
逻辑运算符 (&& || !)
比较运算符
赋值运算符
运算符的开始的一段时期级

 数学生运动算符

澳门新葡萄京官网首页 7

+ 加法运算符
设若运算符,有三个操作数为字符串则将另三个操作数转换到字符串然后再将五个字符串拼接
例如:
var str = “abc” + 123; //返回”abc123″

  • 减法运算符
    * 乘法运算符
    / 除法运算符
    % 求模(取余)运算符
    / 除0,返回Infinity
    % 取余,返回NaN

运算符

结果

+

  如果是数字类型的变量相加,那么结果为数字类型

  如果是非数字类型的变量相加,结果为字符串类型

  如果是非数字类型的变量相减结果为  NaN

*

  同上

/

  同上 ,如果0作为除数,结果为infinity(无穷大)

%

  获取余数

()

  优先级  有括号先计算括号里面的值

 一元运算符

不能不操作几个值的操作符叫做一元操作符,分为:前置型和后置型
看名就会知道意思,前置型应该投身要操作的变量在此以前,而前置型则应当放在要操作的变量之后
履行放到递增和递减操作时,变量的值都是在说话被求值从前退换的。

 

++
前置++
var age = 18;
++age; //结果 19
实行过程
var age = 1;
age = age + 1;
后置++
var age = 18;
age++; //结果 19
和前置++的区别点在于,递增操作是在整个语句求值之后实行的,此处和地方的结果还未其余差距。
练习:
var a = 1; var b = ++a + ++a; console.log(b);
var a = 1; var b = a++ + ++a; console.log(b);
var a = 1; var b = a++ + a++; console.log(b);
var a = 1; var b = ++a + a++; console.log(b);
–和++相同

逻辑运算符

澳门新葡萄京官网首页 8

&& 与
属于*闭塞操作*,即假若第三个操作数能够支配结果,那么就不会再对第2个操作数求值
唯有七个操作数都为true,结果为true
若是有三个操作数为false,结果为false
|| 或
属于*闭塞操作*,假诺第一个操作数的求值结果为true
,就不会对第二个操作数求值了
有叁个操作数为true,结果为true
有叁个操作数false,结果为false
! 非
逻辑非操作符首先会将它的操作数转换为叁个布尔值,然后再对其求反
唯有三个操作数

窒碍操作

生机勃勃经首个操作数是指标,再次回到第二个操作数
假设首个操作数是指标,何况第一个操作数是true再次来到第四个操作数
如若有一个操作数是null(NaN/undefined),重临null(NaN/undefined)

假定第三个操作数是指标,再次来到第二个操作数
比方第三个操作数是指标,况兼第三个操作数是false再次回到第二个操作数
意气风发经多个操作数都以目的,重回第三个操作数
若是多少个操作数都以是null(NaN/undefined),重临null(NaN/undefined)

练习:

即使操作数是指标,重回false
假诺操作数是空字符串,再次回到true
要是操作数是非空字符串,再次回到false
比方操作数是0,再次回到true
风姿浪漫经操作数是轻便非0值,重临false
只要操作数是null,undefined,NaN,重回true
上边的法规能够简化成
转换为false的值:false、””、0和NaN、null、undefined
!!”abc”结果是何等

比较运算符

 澳门新葡萄京官网首页 9

< <= >= >
在可比字符串时,实际比较的是八个字符串中对应地点的各样字符的字符编码值。
在可比数值和字符串时,字符串都会被转换到数值,然后再以数值格局与另一个数值比较
借使一方面是数子,另三只是Boolean,先把Boolearn类型的值转变到数字,再相比较

== != 相等和不对等
=== !== 全等和不全等
等于只相比值,全等相比较的是值和项目
例如:
var result = “55” == 55; //true
var result = “55” === 55; //false 值相等,类型不对等
var result = 55 === 55; //true

赋值运算符

= += -= *= /= %=
例如:
var num = 0;
num += 5;//相当于 num = num + 5;

澳门新葡萄京官网首页 10

 

运算符的预先级

开始的一段时期级从高到底
(State of Qatar 优先级最高
一元运算符 ++ — !
算数运算符 先* / % 后 + –
波及运算符 > >= < <=
对等运算符 == != === !==
逻辑运算符 先&& 后||

 

 

练习1
((4 >= 6) || (“人” != “狗”)) && !(((12 * 2) == 144) && true)
练习2
var num = 10;
if(5 == num / 2 && (2 + 2 * num).toString() === “22”) {
console.log(true);
}

 Date()对象

Date对象用于拍卖日期和时间。

澳门新葡萄京官网首页 11

Math对象

Math.ceil()   天花板函数    向上取整

澳门新葡萄京官网首页 12

★即使是整数,取整之后是以此数本人

★借使是小数,对数实行发展舍入。

 

Math.floor()  地板函数

澳门新葡萄京官网首页 13

★假如是整数,取整之后是其风度翩翩数自身

★如果是小数,对数进行向下舍入。

 

Math.max()

 澳门新葡萄京官网首页 14

 

Math.min()

澳门新葡萄京官网首页 15

 

 Math.pow()

 澳门新葡萄京官网首页 16

 

Math.round() 

澳门新葡萄京官网首页 17

 

Math.random()

澳门新葡萄京官网首页 18

 

 

数据类型调换

1.1 数字类型转字符串

  String()

澳门新葡萄京官网首页 19

 变量.toString()

澳门新葡萄京官网首页 20

 

1.2 字符串转数字类型

◆Number

 澳门新葡萄京官网首页 21

  ★数字类型的字符串,转换之后获得的数字。

  ★非数字字符串,调换之后获得是NaN。

  ★小数类型的字符串,调换之后获得的是原数字。

◆parseInt

 澳门新葡萄京官网首页 22

★整数数字类型的字符串,转变之后获得的整数数字。

★数字最初的字符串,转变之后获得的是最近的数字。

★非数字最初的字符串,调换之后收获的是NaN。

★小数类型的字符串,转变之后取整。

◆parseFloat

★整数数字类型的字符串,转变之后收获的卡尺头数字。

★数字最初的字符串,转变之后收获的是前边的数字。

★非数字初阶的字符串,调换之后获得的是NaN。

★小数类型的字符串,调换之后获得的是原数字。

1.3 转布尔类型

Boolean()

 澳门新葡萄京官网首页 23

 

★数字和字符串转完之后为true。

★undefined、null、0转完事后为false.

1.4 隐式数据类型转变

在运算进度中,程序自身实行的多寡调换(程序猿未有操作卡塔尔(قطر‎

1.5 逻辑运算符

逻辑运算唯有2个结实,二个为true,二个为false.

◆且&&

★三个表明式为true的时候,结果为true.

◆或||

★只要有叁个表明式为true,结果为true.

◆非!

★和表明式相反的结果。

1.6  等号运算符

“=”赋值运算符

“==”只看清内容是还是不是相像,不剖断数据类型。

“===”不仅仅推断内容,还肯定数据类型是或不是相像。

!=  只决断内容是不是不蓬蓬勃勃致,不决断数据类型。

!==不全等于  不唯有推断内容是或不是不均等,还料定数据类型是还是不是不相近。

1.7 变量的公家评释

 

程序二种为主组织

次第布局
选拔布局
循环构造

判定语句if

语法:
if(condition) {
statement1
}else if (aaa){
statement2
}else{
statement3
}

三元(目)运算符

性别在数据库中存款和储蓄的是1和0,供给输出男或女
var sex = 1;
if(sex === 1) {
console.log(“男”);
}else{
console.log(“女”);
}
简化的章程
var sex = 1;
sex = sex === 1 ? “男”:”女”;
表达式1 ? 表达式2 : 表达式3

看清语句switch

语法:
switch (expression) {
case value:
statement
break; // break 关键字会引致代码执行流跳出 switch 语句
case value:
statement
break;
default:
statement
}
注意:
break能够归纳,假诺轻松,代码会继续实施下二个case
switch
语句在可比值时接收的是全等操作符,因而不会生出类型调换(比如,字符串
“10” 不对等数值 10)。

案例:

     var fruit=prompt("请输入您喜欢吃的水果");
     switch(fruit){
         case "苹果":
         alert("您喜欢吃的是苹果");
         break;  //阻断代码执行
         case "香蕉":
         alert("您喜欢吃的是香蕉");
         break;
         case "葡萄":
         alert("您喜欢吃的是葡萄");
         break;
         default:
         alert("口味真重");
         break;
     }

     switch(fruit){
         case "苹果": case "香蕉": case "葡萄":// case值的集体声明
         alert("您喜欢吃水果");
         break;
         default:
         alert("口味真重");
         break;
     }

练习:
剖断当天是星期几

澳门新葡萄京官网首页 24澳门新葡萄京官网首页 25

    var jj=prompt("请输入月份");
    switch(jj){
        case "3": case "4": case "5":
        alert("春季");
        break;
        case "6": case "7": case "8":
        alert("夏季");
        break;
        case "9": case "10": case "11":
        alert("秋季");
        break;
        case "12": case "1": case "2":
        alert("冬季");
        break;
        default:
        alert("您在火星");
        break;
    }

View Code

把百分制转变来优越中可差

澳门新葡萄京官网首页 26澳门新葡萄京官网首页 27

    var score=prompt("请输入成绩");
    switch(score){
        case "20":
        alert("成绩为20");
        break;
        case "40":
        alert("成绩为40");
        break;
        case "60":
        alert("成绩为60");
        break;
        default:
        alert("输入错误");
        break;
    }

View Code

 

循环语句for

语法
for (initialization; expression; post-loop-expression) statement
initialization表示:早先化表明式
expression表示:调整表达式
post-loop-expression表示:循环后表明式
三者都是可选的
循环1-100
实行进程
1 首先最早化
2 循环的判断
3 函数体代码
4 post-loop-expression
5 从第2步发轫向下再也进行

 

练习:
1 打印1到100

澳门新葡萄京官网首页 28澳门新葡萄京官网首页 29

    //将1-10的数字打印到控制台
    for(var n1=1; n1<=10; n1++){
            console.log(n1);
    }

View Code

2 打印1到100的和

澳门新葡萄京官网首页 30澳门新葡萄京官网首页 31

    // 计算1到100的和 
    var sum=0;
    for(var n1=1; n1<=100; n1++){
        sum=sum+n1;

    }
    console.log(sum);

View Code

3 求1-100里边全数数的和、平均值
4 求1-100以内有着偶数的和、全体奇数的和
5
本金10000元存入银行,月利率是千分之三,每过1年,将资本和利息相加作为新的资金。总括5年后,得到的本金是有个别?
6
有私人商品房想领会,一年以内生机勃勃对兔子能养殖多少对?于是就筑了风华正茂道围墙把生龙活虎对兔子关在里面。已知风流倜傥对兔子各类月可以生生机勃勃对小兔子,而大器晚成对兔子从降生后第四个月起每月生生龙活虎对小兔子。假若一年内未有爆发长逝现象,那么,生龙活虎对兔子一年内(拾个月)能养殖成多少对?
兔子的原理为数列,1,1,2,3,5,8,13,21

 

2 打字与印刷长方形
3 打字与印刷直角三角形

澳门新葡萄京官网首页 32澳门新葡萄京官网首页 33

    // 在页面中打印一个直角三角形
    for(var j=1; j<=9;j++){
        for(var i=1; i<=j; i++){
            document.write("*");
        }document.write("<br>");
    }

View Code

 

1 打印9*9乘法表

澳门新葡萄京官网首页 34澳门新葡萄京官网首页 35

    // 在页面中打印99乘法表
    for(var j=1; j<=9; j++){
        for(i=1;i<=j; i++){
            document.write(i+"X"+j+"="+j*i+"&nbsp;");
        }document.write("<br>");
    }

View Code

 

从1乘到100;
计算出1—100中间具备不可能被7整除的整数的数字之和。
计量出1—100里面全部不可能被3整除的整数的和超过(或等于卡塔尔(قطر‎2001的数字。

break和continue

break语句

在循环体中,只要代码碰着break,程序及时截至近年来巡回。

现阶段循环指的是break语句全体的循环体。

立即退出循环

案例:

    //输出找到1-100之间的所有质数
    var flag=0;  //标识符
    for(var j=1; j<=100; j++){
        for(var i=2; i<j; i++){
            if(j%i==0){
                flag=1;
                break;

            }else{
                flag=0;
            }
        }
        if(flag==0 && j!=1){
            console.log(j);
        }
    }

continue语句

continue跳出这次巡回
立即退出当前循环,但分离循环后会从循环的顶上部分继续奉行

案例

    //将6以外的1-10数字打印到控制台
    for(var n1=1; n1<=10; n1++){
        if(n1==6){
            continue;
        }else{
            console.log(n1);
        }
    }

    // 请将1到100之间所有数字输出,排除是3的倍数的数字
    for(var i=1; i<=100; i++){
        if(i%3==0){
            continue;
        }else{
            console.log(i);
        }
    }

break和continue的区别:

好比报数1到10,break语句广播发表6停下后边不报了(123456),continue跳过6接续报背后的数(12345
789)。

 

循环语句while

语法
while(expression) statement
推行顺序

  1. 先执行expression
  2. 再实行循环体中的代码

     //将1到100之间的所有是3的倍数找出来,在控制台中输出
     var n1=1;
     while(n1>=1 && n1<=10){
         if(n1%3==0){
             console.log(n1);
         }else{
    
         }
         n1++;
     }
    
     // 求1到100之间的数字和。在控制台中输出
      var n1=1;
      var sum=0;
      while(n1>=1 && n1<=10){
          sum=sum+n1;
          n1++;
    
      }
    
      //亲,请将1到50中所有的奇数找出来,并在控制台中输出!
      var n1=1;
      while(n1>=1 && n1<=50){
          if(n1%2==0){
    
          }else{
              console.log(n1);
          }
          n1++;
      }
    

练习
随便输入贰个整数,求它的位数

循环语句do..while

语法
do {statement} while (expression);
循环体中的代码至少要被实施一回
施行各样

  1. 先执行statement语句
  2. 再执行expression

     var n1=1;
     var n2=5;
         do{
             alert("n1>n2");
         }while(n1>n2)
    

为什么要学习数组

后边学习的数据类型,只好存款和储蓄贰个值
小编们想囤积三个值的时候能够采纳数组
比方说:存款和储蓄班级中颇具学员的真名

 

数组

数组:数据的有系列表,能够贮存任意档案的次序的数码,数组的深浅能够动态调节。
创造数组的二种办法
措施1,数组字面量
var arr1 = []; //创造一个空数组,数组字面量
var arr2 = [1, 3, 4];
//创制一个包括3个数值的数组,多少个数组项以逗号隔离
var arr3 = [“a”, “c”]; // 创立一个饱含2个字符串的数组
主意2,Array的布局函数
var arr4 = new Array(卡塔尔国; // 创立三个空数组
var arr5 = new Array(10卡塔尔(قطر‎; // 创造二个长短为10的数组
var arr6 = new Array(“black”, “white”, “red”卡塔尔; //
创造一个富含3个字符串的数组

数组的采纳

获取数组中的值
var colors = [“black”, “white”, “red”];
console.log(colors[0]卡塔尔国; //获取第贰个要素的值
colors[“1”] = “blue”; //给首个要素重新赋值
console.log(colors);
colors[“4”] = “yellow”; //设置第5个要素的值,那时候数组中有5个成分
console.log(colors);
length属性,获取或安装数组凉月素的个数
console.log(colors.length卡塔尔(قطر‎;//获取数组中元素的个数
colors.length = 1; //设置数组瓜月素的个数
console.log(colors);

数组练习

求生龙活虎组数中的全体数的和 和平均值
求生机勃勃组数中的最大值和纤维值,甚至所在地方
将字符串数组用|或任何标识分割
务求将数组中的0项去掉,将不为0的值存入贰个新的数组,生成新的数组
扭动数组
冒泡排序,从小到大

 

调试

千古的调度
alert
console.log
安装断点

函数

函数能够封装风姿浪漫段JavaScript代码,它只定义叁遍,但足以被实行或调用大肆数次
编制程序正是把要求分解成生机勃勃组函数与数据布局的手艺
函数的定义
function 函数名 (var1, var2, …, varX) {
//函数体
}
函数的调用

函数名();

函数函数的三种样式
无参数无再次来到值
有参数无再次来到值
无参数有再次来到值
有参数有重返值
函数再次来到值
假诺函数体中冒出return则前边的代码不施行
当不写再次来到值,或许return前面没有跟内容的时候回来的也可以有再次来到值undefined,那是和其它语言分化的地点

函数的重回值

JavaScript中的函数相比奇葩

  1. 纵然函数未有出示的选择 return语句
    ,那么函数有暗中同意的重返值:undefined
  2. 借使函数使用 return语句,那么跟再return前边的值,就成了函数的再次来到值
  3. 大器晚成经函数使用
    return语句,然而return前边未有任何值,那么函数的重返值也是:undefined
  4. 函数使用return语句后,这一个函数会在进行完 return
    语句之后结束并及时退出,也正是说return后边的全体其余代码都不会再施行。
  5. 推荐介绍的做法是依旧让函数始终都回来一个值,要么长久都休想再次回到值。
    函数的参数

函数的参数

形参
function f(a,b卡塔尔国{} //a,b是形参,占位用,函数定义时形参无值
实参
var x= 5,y=6;
f(x,yState of Qatar;
//x,y实参,有具体的值,会把x,y复制黄金年代份给函数内部的a和b,函数内部的值是复制的新值,不恐怕校勘外界的x,y
JavaScript中的函数相对于其它语言的函数比较灵(特卡塔尔(قطر‎活(殊卡塔尔国
在其余语言中实参个数必得和形参个数意气风发致,不过JavaScript中从不函数具名的概念,实参个数和形参个数能够不对等

从不重载(领会卡塔尔
怎么着是重载:方法的具名相似(函数重返值、函数名称、函数参数卡塔尔(قطر‎,此外语言(c++、Java、c#卡塔尔(قطر‎中有措施的重载。
JavaScript中没法的重载
function f1(a,b) {
return a + b;
}
function f1(a,b,c) {
return a + b + c;
}
var result = f1(5,6); //NaN
三个参数的f1把五个参数的f1覆盖,调用的是四个参数的f1
注解JavaScript中未有重载

函数三种概念方式

1、函数证明
function f(a,b) {
return a + b;
}
console.log(f(5,6));
2、函数表明式
//myFun和f等价
var myFun = function (a,b){
return a + b;
}
console.log(myFun(6,7));

变量的功用域

块级成效域
在其他语言中,任何大器晚成对花括号中的语句都归属叁个块,在这里个中定义的富有变量在代码块外都以不可以知道的
JavaScript中并未有块级效用域
全局变量
概念在script可能不归属某些函数的变量
有的变量
概念在函数内部的变量
其它
函数内部能够访谈到该函数所属的外表作用域的变量(功用域链卡塔尔
不行使var注解的变量是全局变量,不引入应用。
变量退出效能域之后会销毁,全局变量关闭网页或浏览器才会销毁

变量进步

变量进步
概念变量的时候,变量的宣示会被升高到效率域的最上面,变量的赋值不会进级。
函数进步
JavaScript拆解深入分析器首先会把近来效率域的函数申明提前到整个功用域的最前边

函数表明和函数表明式的界别
函数注解
//此处的代码实行没一时常,JavaScript深入深入分析器首先会把当前功能域的函数注脚提前到整个成效域的最前头。
console.log(f(5,6));
function f(a,b) {
return a + b;
}
函数表达式
//报错:myFun is not a function
//这是为什么吗
myFun(6,7);
var myFun = function (a,b){
return a + b;
}

无名函数

无名氏函数:未有命名的函数
功用:平日用在绑定事件的时候
语法
function () {}
自调用函数
(function(){alert(“hello”)})();

函数演习
求圆的面积
求2个数中的最大值,求3个数中的最大值
看清三个数是或不是是素数
求阶乘
求1!+2!+3!+….+n!
求风度翩翩组数中的最大值和最小值
求斐波那契数列Fibonacci中的第n个数是不怎么? 1 1 2 3 5 8 13 21…
扭转数组,重回三个新数组
对数组排序,从小到大
输入某年某月某日,判断这一天是那一年的第几天?

递归

怎么是递归?
办法本人调用,平日还要有收尾的交付
案例:
从前有座庙,庙里有个老和尚
求n个数的丰硕
输入三个数,求那一个数的各位数字之和。
求Fibonacci的第n个数
1 1 2 3 5 8 13 21…

函数是意气风发种数据类型
typeof f1

函数作为艺术的参数
函数作为艺术的重返值

 

1.1带操作的赋值运算符

发表评论

电子邮件地址不会被公开。 必填项已用*标注