转载请标明出处!
 

 
逻辑运算
 
 
 
      一门计算机语言,编程的核心在于逻辑思想,当我们在编写程序的时候,逻辑是否通顺,是能否正确写出程序的关键,可以说如果你掌握了逻辑,那么你就踏入了计算机编程的大门。
 
&&与 || 或 !否
 
逻辑 与 &&
 
var a=0,b=3;
 
alert(a==0&&b==3) //true;
 
alert(a==1&&b==3)//false;
 
他的返回值是布尔类型,当两个判断条件都成立的时候,那么整个语句返回true。如果有一个不成立那么返回值为false;
 
逻辑 或 ||
 
var a=0,b=3;
 
alert(a==1||b==3) //true;
 
alert(a==0||b==4)//true;
 
alert(a==10||b==40)//false;
 
他的返回值是布尔类型,当判断条件中有一个成立的时候,那么整个语句返回true。如果全部不成立那么返回值为false;
 
逻辑 否 !
 
var a=0,b=3;
 
alert(a!=1) //true;
 
alert(b!=3)//false;
 
 
他的返回值是布尔类型,当判断条件不成立的时候,那么整个语句返回true。如果成立那么返回值为false;
 
自增
 
 
 
 
      全国人民的干爹,但是在马云创业之前,他泯然众人,如果他不创业那?如果他不创建阿里那?他现在可能还是之前的样子。
 
      所以,在特定的时间点上,在经历过特殊的事情之后,人才会改变。
 
a++ ,a-- 他的返回值是 a本身,因为浏览器的解析顺序是从上到下从左到右,当我们读取到该语句的时候,首先被解析的就是变量a,他还没有进行任何运算,所以此时该语句的结果为变量a。
 
var a=1;
 
alert(a++);//1;
 
alert(a++);//????
 
++a ,--a 同理,因为解析顺序问题,当解析器
 
alert(++a);//2
 
 
NaN(一个自己都和自己不一样的特殊数字类型,表示不是数字的数字)
 
     
 
    alert(NaN==NaN)//false
 
    var a=0;
    var b;
    var c=a+b
 
    alert(c);
 
    //isNaN(num)函数,该函数判断num变量的值是否是NaN
 
    alert(isNaN(c));
 
 
 
Number()方法 toFixed()方法
 
Number对任意类型的数据进行强制类型转换,转换结果为数字。
 

alert(Number(true)); //1,Boolean 类型的 true 和 false 分别转换成 1 和 0

alert(Number(25)); //25,数值型直接返回

 
alert(Number(null)); //0,空对象返回 0
 
alert(Number(undefined)); //NaN,undefined 返回 NaN
 
var a=1.22222
 
a.toFixed(2)//返回值是1.22
 
a//1.22222
 
如果是对象,则在转换数字失败后,调用toString方法获得返回值;
 
var box = {
    toString : function () {
       return '123'; //可以改成 return 'abc' 查看效果
    }
};
alert(Number(box)); //123
 
创建对象(Object)类型
 
两种方式创建
 
1.var obj=new Object();
 
 2.var obj={
         
 }
 
 
parseInt()和parseFloat();
 
同样是强制转换数据,他们之间有什么不同那?
 
parseInt()该方法从左到右检测数字或字符串中第一个不为数字的字符,并把之前的所有进行返回,如果字符串中第一个就不为数字那么返回NaN;
 
例:
1.parseInt('123abc') a为第一个不为数字的字符;返回a之前的所有值,则该方法的返回值为123。
2.parseInt('abc123')a为第一个不为数字的字符,并在字符串开头位置,则判定该字符串无法转换为数字返回NaN;
 
parseFloat()该方法,检索数字或字符串后面第一个.后的不为数字的字符,并对之前所有的结果进行返回,如果第一个字符不为数字,那么返回NaN。
 
例:
1.parseFloat('123.123.123abc').第一个.后不为数字的字符那么,返回之前的字符,该方法返回123.123
 
 
程序的三大结构:
 
1.顺序结构
 
 
2.选择结构
 
    
3.循环结构
 
              
if(){}判断语句
 
 
if(true){
     
      //执行该语句    
 
}
 
if(false){
     
      //跳过该语句   
 
}
 
if(ture){ //当if括号中结果为true时执行语句1,否则执行语句2
 
     //语句1
 
}else{
 
     //语句2
}
 
if()括号中的东西我们通常叫它逻辑点。
 
一个奇葩问题
 
if(//在这个括号里会发生各种各样奇奇怪怪的事情)
 
if(1){
     
     alert('看我弹出来给你看')
 
}
 
感觉怪怪的:
 
1.if括号里填什么来着???
 
2.1是true么?
 
为什么会发生这样的事情那?在一些特定情况下,计算机会进行隐式类型转换。他和强制类型转换(Number)不一样,他不需要你做些什么,会自动对数据类型进行转换。
 
在 运算中,和if(括号中),会发生隐式类型转换。
 
1.运算中的隐式类型转换:
 
var a='1' ,b=2;
 
a+b=???
 
+运算符有两种含义,第一层含义是数学中的+运算,第二层含义是字符串拼接,优先运算字符串拼接,所以在检测到加好左右两边存在字符串的时候,会将运算符左右两边的数字都转换成字符串再进行运算。
 
a-b=???
 
除了+运算符具有两层含义以外,- * /只有数学意义,所以当进行- * /运算的时候默认会将运算符两侧的数据类型隐式转换为数字类型,再进行运算。
 
2.if(括号中的)隐式类型转换。
 
我们都知道,if括号中只需要布尔类型值。那么在if判断中,所有的数据类型都会被隐式转换为布尔类型。
 
if(非零数字都被转换成ture、非空字符串都转换成true),存在两条基础规则,其余规则在今后学习中慢慢发掘。
 
 
alert(1==true);//true
 
 
 
 
switch();
 
switch(语句){
    case 0:alert(1);
    break;
    case 2:alert(2);
    case 3:alert(3);     
    default:alert(10)
}
 
案例:成绩判定、显示星期几。
 
 
 
注意switch的应用场景(有多个确定值需要判断的时候);
 
注意case穿透,要加break语句(如果程序没有发现break语句,那么解析器会继续向下解析);

javascript系列-class2.javascript 基本使用的更多相关文章

  1. javaScript系列 [06]-javaScript和this

    在javaScript系列 [01]-javaScript函数基础这篇文章中我已经简单介绍了JavaScript语言在函数使用中this的指向问题,虽然篇幅不长,但其实最重要的部分已经讲清楚了,这篇文 ...

  2. javaScript系列 [03]-javaScript原型对象

    [03]-javaScript原型对象 引用: javaScript是一门基于原型的语言,它允许对象通过原型链引用另一个对象来构建对象中的复杂性,JavaScript使用原型链这种机制来实现动态代理. ...

  3. (一)我的Javascript系列:Javascript的面向对象旅程(上)

    今宵酒醒何处,杨柳岸,晓风残月 导引 我的JavaScript系列文章是我自己对JavaScript语言的感悟所撰写的系列文章.现在还没有写完.目前一共出了下面的系列: (三)我的JavaScript ...

  4. javaScript系列 [05]-javaScript和JSON

    本文输出和JSON有关的以下内容❐ JSON和javaScript❐ JSON的语法介绍❐ JSON的数据类型❐ JSON和XMLHTTPRequest❐ JSON的序列化和反序列化处理 1.1 JS ...

  5. (五)我的JavaScript系列:JavaScript的糟粕

    泪眼问花花不语,乱红飞过秋千去. JavaScript的糟粕 JavaScript语言是一门集精华与糟粕于一体的语言.在JavaScript: the good parts中,便集中讨论了关于精华与糟 ...

  6. javascript系列-Class1.JavaScript基础

    欢迎加入前端交流群来py:749539640 转载请标明出处!   JavaScript概述        一个页面分成三个部分,结构,样式,行为.               HTML代表了页面的结 ...

  7. 深入理解JavaScript系列:JavaScript的构成

    此篇文章不是干货类型,也算不上概念阐述,就是简单的进行一个思路上的整理. 要了解一样东西或者完成一件事情,首要的就是先要搞清楚他是什么.作为一个前端开发人员,JavaScript应该算作是最核心之一的 ...

  8. javaScript系列 [04]-javaScript的原型链

    [04]-javaScript的原型链 本文旨在花很少的篇幅讲清楚JavaScript语言中的原型链结构,很多朋友认为JavaScript中的原型链复杂难懂,其实不然,它们就像树上的一串猴子. 1.1 ...

  9. 【详解JavaScript系列】JavaScript之变量

    一  概述 本篇文章将讲解JavaScript中的变量,大致内容归结为: 1.变量定义 包括变量声明和变量初始化 2.变量种类 包括局部变量和全局变量 3.变量链式作用域及访问 二  内容 (一)变量 ...

随机推荐

  1. [SCOI 2007] 排列

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1072 [算法] 状压DP [代码] #include<bits/stdc++. ...

  2. Noip前紧急抢救

    管他会不会,知道结论就好了 紧急抢救知识 斯特林数 第一类斯特林数 递推公式 \[ S[n][k]=(n-1)\times S[n-1][k]+S[n-1][k-1] \] 处理的问题是将n个数划分为 ...

  3. Linux命令学习-curl

    作用 curl是利用URL语法的一款强大的网络工具,你可以使用它完成上传下载文件等操作. curl http://www.cnblogs.com 上诉的命令即可将页面内容打印到屏幕上. 常用参数 -o ...

  4. BZOJ 3720 树分块

    借鉴了别人的代码-- //By SiriusRen #include <cmath> #include <cstdio> #include <cstring> #i ...

  5. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  6. Edge 通过代理无法打开网页,解决方案

    netsh winhttp import proxy source=ie

  7. css实战笔记(一):写网页前的reset工作

    reset.css是每个html必备的样式,其中有各种元素属性清零的代码. 为什么要有reset.css 让各个浏览器的CSS样式有一个统一的基准,比如清除各个浏览器为元素自带的margin.padd ...

  8. Django开发之路 二(django的models表查询)

    django的models表查询 一.单表查询 (1) all(): 查询所有结果 # 返回的QuerySet类型 (2) filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 #返 ...

  9. 话说普通的TPlink ip地址是192.168.1.2 在LAN里有台电脑共享打印机 ip 是192.168.0.2 计算机名为j02 然后我把这台电脑加到DMZ里,让根路由器同一网段的可以访问 但添加打印机的时候 提示 计算机名重复 后来在需要添加打印机电脑的hosts文件里加了 192.168.1.2 j02 式了一样不行 话说,这个打印机该怎么添加

    开启端口映射,从外网访问内网的文件共享: 已经在路由器里开了远端WEB管理设了端口,另外端口映射局域网里的一台电脑,比如WEB端口设的是8080,映射192.168.1.100到4877端口,现在我想 ...

  10. 怎样学CSS?

    什么是CSS? CSS(Cascading Style Sheet,层叠样式表)是由W3C(万维网联盟)的CSS工作组创建和维护的.它是一种不需要编译,可直接由浏览器执行的标记性语言,用于控制Web页 ...