1.变量的声明

           var num=1;//使用var生命的变量属于局部变量,只在当前作用与有效。在方法外部可以运行。       
           //可以不用声明变量,直接赋值。
          num="hahahah";//不用var声明的变量,默认是全局变量,在整个JS文件中使用
            function func () {
           // var num=1;//1.使用var定义的变量是方法里面的,不能打印
          num3=10;
           }
           func();
           // alert(num);//1.不能运行
           alert(num3);

2.使用一行代码强调多个语句。其中b为undefined;

           var a=1,b,c="nu";
           alert(a);
           alert(b);

3.JS中变量声明的注意事项。

①JS中声明变量的关键字只有var一个,变量的类型取决于所附的值。
 如果声明时未赋值,则返回undefined类型(声明之后没有赋值的变量,不是未声明)。
②JS中同一个变量,可以在多次赋值中,被修改数据类型。

           var num=1;
           num="hahahah ";

③变量可以使用var声明,也可以直接声明
【区别】使用var声明的作用域为局部变量。
④在JS中,一个变量可以多次使用var声明,后面的声明相当于直接赋值,没有任何用处。
⑤JS变量区分大小写,大写和小写不是一个变量。

1.JS中的数据类型。

①Undefined:使用var声明,但是没有赋值的变量。

②null:表示空的引用。

③Boolean:真假。

④Number:数值类型:包括整形和浮点型。

⑤Object:对象(函数数组统称为对象)。

⑥String:字符串。

2.常用数值函数。

①isNaN用于检测一个变量,是不是一个非数值(Not a Number)
  isNaN在检测时,会先调用Number函数,尝试将变量转为数值类型,如果最终结果能转为数值时,则不是NaN。
②Number函数:用于将各种函数数据类型转为数值类型。
 》》》Undefined:无法转换,返回NaN。
 》》》null:转为0;
 》》》Boolean:true转为1,false转为0;
 》》》字符串:
 如果字符串是纯数值字符串,则可以转换。“123”->123
 如果字符串包含非数值字符,则不能转换。"123a"->NaN
 如果是空字符串转为0.""--->0 " "--->0
③parseInt():将字符串转为数值类型。
 》》》如果是空字符串,不能转,返回结果是NaN。
 》》》如果是纯数值类型字符串,可以转换,且小数点直接删去,不保留。
 "123"--->>123 "123.9"--->>123
 》》》如果字符串包含非数值字符,则将非数值字符前面的整数进行转换。
 "123a"--->123 "a123"-->>NaN
④parseInt():转换机制与parseInt()相同。
 不同的是:转换数值字符串时,如果字符串是小数则可以保留小数。
 "123.5"-->>123.5 "123"-->>123
⑤typeof:检测一个变量的数据类型。
 字符串-->String 数值-->number true/false-->boolean
 未定义-->Undefined 对象/null-->object 函数-->function

       var num=1;
alert(isNaN(num));//false
var num="1";
alert(isNaN(num));//false
var num="a1";
alert(isNaN(num));//true
var num="1a";
alert(isNaN(num));//true
var num="a1";
alert(Number(null));//
var num="a1";
alert(Number(undefined));//NaN
var num="a1";
alert(Number(Boolean));//NaN
       var num="";
alert(num);//返回空
var num="123.9";
alert(num);//123.9
var num="123.9";
alert(Number(num));//123.9
       var num="123.9";
alert(parseInt(num));//
alert(Number(undefined));//NaN
alert(Number(null));//
alert(Number(true));//
alert(Number("123"));//
alert(Number("123a"));//NaN
alert(Number(""));//
alert(parseInt("123.5"));//
alert(parseInt(123.5));//
alert(parseInt("123"));//
alert(parseInt("123a"));//
alert(parseInt("a123"));//NaN
alert(typeof("123.5"));//string
alert(typeof(123));//number
alert(typeof(true));//boolean
alert(typeof(undefined));//undefined
alert(typeof(null));//object
function func () {
num3=10;
}
alert(typeof(func()));//undefined
alert(typeof(func));

3.JS中常用的输入输出语句。

①.alert():弹窗输出
②.prompt();弹窗输入,接收两部分参数。①输入提示内容②输入框的默认文本。(两部分都可以省略)
输入的内容默认都是字符串。
③.document.write();在浏览器屏幕上面打印。
④.console.log();浏览器控制台打印。

       var str =prompt("请输入一句话","你真帅");//两块都可以省略//框里显示你真帅
alert(str);//你真帅
alert(typeof(str));//类型string
       var str =prompt("请输入一个数");
var str1 =prompt("请输入一个数");//4+5=9
alert(parseInt(str)+parseInt(str1));

4.JS中的运算符。

①除号:无论符号两边是整数还是小数,除完之后都将按照实际结果保留小数。
 22/10=2.2
 ++ -- + - = += *= /= %= == != 和java一样。
②"===":要求等式两边的数据,类型和数值必须相同,如果类型不同,直接返回false。
 "==":值判断两边的数据,值是否相同,并不关心等式两边是否是同一种类型。
 !=:不等。 !==:不全等。
③& |只能进行按位运算,如果两边不是数值类型,将转为数值运算。
  && ||进行逻辑运算。
 ^相等时为0,不等为1。

       console.log(22/10);//2.2
console.log(10/3);//3.3333333333333335
console.log(12.0/6);//2
         var j=0;
var c=0;
for(var i=0;i<100;i++){
c=j++;
}
console.log(c);//
var j=0;
for(var i=0;i<100;i++){
j=j++;
}
console.log(j);//
var j=0;
for(var i=0;i<100;i++){
j=++j;
}
console.log(j);//
       console.log(1=="1a");//false
console.log(1=="1");//true
console.log(1==="1");//false(必须是同一种类型===)
       console.log(undefined==null);//true
conole.log(undefined===null);//false
console.log(NaN===NaN);//false
console.log("1"!==1);//false
console.log("1"!=1);//true
console.log(true&12);//

1.JS中的真假判断。

①Boolean类型:true为真,false为假。
②数值类型:0为假,非0为真。
③字符串类型:""为假,非空字符串为真。
④null/undefined/NaN:全为假。
⑤Object:全为真。

       if(0.0){
console.log(true);
}else{
console.log(false);
}//0为假,其他为真
if(""){
console.log(true);
}else{
console.log(false);
}//""为假,其他为真
if(undefined){
console.log(true);
}else{
console.log(false);
}//假

2.switch结构的()可以放各种数据类型;比对时,采用"==="进行判断,要求数据类型完全相等。

       var num=1;
switch(num){
case "1":
console.log("等");
break;
default:
console.log("不等");
break;
}//不等
var num=1;
switch(true){
case num>=0&&num<10:
console.log(1);
break;
case num>=10&&num<20:
console.log(2);
break;
default:
console.log(3);
break;
}//

3.练习:

输入一个数,若是正整数返回该数倒转换的数,如果不是正整数则重新输入。

       var s=true;
while(s){
var s=prompt("请输入一个数");//输入非正整数,提示:
var str='';//您输入的不是正整数,重新“请输入一个数”
if(parseInt(s)==s){//输入正整数,如:12345,返回54321
while(s>0){
var a=s%10;
str+=a;
s=parseInt(s/10);
}
console.log(str);
s=false;
}else{
console.log("您输入的不是正整数");
s=true;
}
}

1.函数声明的格式。

      function 函数名(参数一,参数二){
     //函数体代码
      return 返回值;
      }

2.函数调用:

①直接调用:函数名(参数一,参数二);
 ②通过事件调用,在HTML标签中,通过时间属性进行调用。

3.函数声明与调用的注意事项:

①函数中有没有返回值只取决于函数中有没有return,无需可以声明。
 在JS中有返回值可以不接收,没有返回值也可以接收,结果为undefined。
 ②JS中函数的形参列表与实参列表没有任何关联。
 即,有参数可以不赋值,没有参数也可以赋值,未赋值的参数为undefined。
 函数的实际参数个数,取决于实参列表。
 ③JS中函数是变量的唯一作用域。
 那么函数的形参是属于函数的局部变量。
 ④函数的声明与调用语句,没有先后之分,即,可以先写调用语句,在声明函数。

       func();
      function func(){}

4.匿名函数的声明与使用。

①匿名函数表达式:
 var func=function(){};
调用func();
注意:函数的调用语句必须放在声明语句之后!!!
②直接将匿名函数赋值给一个事件:
 window.onload=function(){}//文档就绪函数,确保函数中代码,在HTML文档中加载完成之后执行!
 document.getlementById("id").onclick=function(){}
③自执行函数:
《《《!function(){}();//开头用!表明这是自执行函数。推荐。
《《《(function(){}());//用()将匿名函数声明与调用包裹在一起。推荐。
《《《(function(){})();//用()将匿名函数声明语句进行包裹。

       !function(){//one
alert(123);
}();// (function(){//two
alert(123);
}());// (function(){//three
alert(123);
})();//
       var func=function(){
alert(123);
}
func();//不能把func();调用放在上面(匿名函数)//123

5.JS代码的执行顺序。

JS代码的执行分为两个阶段:检查编译阶段,代码执行阶段。
检查编译阶段:主要检查语法错误,变量的声明,函数的声明等声明操作。
代码执行阶段:变量的赋值、函数的调用等执行语句,属于代码执行阶段。

        //检查编译阶段:执行操作
var num;
function fun(){}
var func2
        //代码执行阶段:执行操作
console.log(num);
var num=1;
func();
func2();
var func2=function(){}
console.log(func2());

JS基础速成(一)的更多相关文章

  1. JS基础速成(三)- DOM(文件对象模型)

    .t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.DOM树的基本结构 DOM节点分为三大类:元素节点(标签节点),属性节 ...

  2. JS基础速成(二)-BOM(浏览器对象模型)

    .t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.BOM(浏览器对象模型) 1.screen对象. console.lo ...

  3. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  4. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  5. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  6. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  7. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  8. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  9. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

随机推荐

  1. js中call和apply的用法

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  2. Ubuntu16.04开机引导缺失Win10

    Ubuntu正常开机的情况下: sudo update-grub # 如果grub丢失, 就先sudo apt install grub Ubuntu不能正常开下: 进入Ubuntu引导, 不要正常进 ...

  3. EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

    一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbConte ...

  4. java Thread 接口学习

    对于程序员来说 Thread应该都不会陌生,具体的接口调用不是本篇的重点.Thread的基本概念及接口的使用:java多线程 下面将更多的从底层实现角度讲一下Thread. Thread的声明如下: ...

  5. 学习React系列(三)——Refs和Dom

    一.适用于以下场景: 1.控制焦点,文本选择,或者媒体控制 2.触发必要的动画 3.整合第三方dom库 二.不要过度使用ref 如果想通过ref来改变state,那么换一种方式-变量提升可能会更好. ...

  6. [Other] Nuget 构建服务器与常用命令

    公司出于某些原因需要自己在内部网络搭建一个私有的 Nuget 服务器,而且要运行在 Linux服务器上面.如果说 Windows 下搭建的话很简单,直接在项目当中引入 Nuget 的库就 OK,这儿的 ...

  7. bzoj1272 Gate Of Babylon

    [问题描述] [输入格式] [输出格式] [样例输入] 2 1 10 13 3 [样例输出] 12 [样例说明] [数据范围] 先容斥,考虑枚举哪些条件强制不满足,即直接选出b[i]+1件宝具 假设强 ...

  8. [HNOI2014]世界树

    题目描述 世界树是一棵无比巨大的树,它伸出的枝干构成了整个世界.在这里,生存着各种各样的种族和生灵,他们共同信奉着绝对公正公平的女神艾莉森,在他们的信条里,公平是使世界树能够生生不息.持续运转的根本基 ...

  9. 扩展Lucas定理

    (1)Lucas定理:p为素数,则有: (2)证明: n=(ak...a2,a1,a0)p = (ak...a2,a1)p*p + a0 =  [n/p]*p+a0,m=[m/p]*p+b0其次,我们 ...

  10. hdu 1043(经典搜索)

    题意: 给你一个初始的图,然后每次输入一个图,要求移动x最小的步数达到和初始图一样,输出路径 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 5 6 7 ...