JavaScript(类型转换、条件语句、循环、函数)

类型装换

转为数字类型

// Number
console.log(Number(undefined));  //NaN
console.log(Number(null));  //0

console.log(Number(true));  // 1
console.log(Number(false)); // 0

console.log(Number('123'));  //123
console.log(Number('123a')); //NaN
console.log(Number('1.23'));  // 1.23
console.log(Number('+123'));  //123
console.log(Number('-123'));  // -123
console.log(Number('1+23'))  // NaN
console.log(Number(''));  // 0
console.log(Number('  '));  // 0
console.log(Number('1   23'));//  NaN
console.log(Number('1$%23'));  // NaN
console.log(Number('  123')); //123
console.log(Number('1.2.3')); // NaN
console.log(Number('.23'));  // 0.23

// parseInt() 会试图将字符串转为整型,如果失败 返回NaN
// 如果前面是空格 数字正负号时, 当碰到 第一个不是数字时停止装换
// 如果不是数字空格直接返回NaN
console.log(parseInt(undefined));  //NaN
console.log(parseInt(null));  //  NaN

console.log(parseInt(true));  // NaN
console.log(parseInt(false)); // NaN

console.log(parseInt('123'));  //123
console.log(parseInt('123a')); // 123
console.log(parseInt('1.23'));  // 1
console.log(parseInt('+123'));  //123
console.log(parseInt('-123'));  // -123
console.log(parseInt('1+23'))  // 1
console.log(parseInt(''));  // NaN
console.log(parseInt('  '));  // NaN
console.log(parseInt('1   23'));//  1
console.log(parseInt('1$%23'));  // 1
console.log(parseInt('  123')); //123
console.log(parseInt('1.2.3')); // 1
console.log(parseInt('.123'))  //NaN

// parseFloat 与parseInt没有太大区别 除了以下几条
console.log(parseFloat('1.23'));  // 1.23
console.log(parseFloat('1.2.3')); // 1.2
console.log(parseFloat('.123'))  // 0.123

转为String 类型

// undefined null boolean 转为String类型

var a = undefined + '';
console.log(typeof a);  // string

var b = null + '';
console.log(typeof b); // string

var c = true.toString();
console.log(typeof c);

var num = 20;
var d = num.toString();
console.log(d);  // 在浏览器控制台中字符类型是黑色的 数字是蓝色的

其他类型转为Boolean类型

console.log(Boolean(''));           // false
console.log(Boolean(undefined));    // false
console.log(Boolean(null));         // false
console.log(Boolean(0));            // false
console.log(Boolean(0.0));          // false
console.log(Boolean(NaN));          // false

console.log(Boolean(' '));          // true
console.log(Boolean(1));            // true
console.log(Boolean('abc'));        // true

isNaN and isFinite

console.log(isNaN(NaN));        // true
console.log(isNaN('NaN'));      // true
console.log(isNaN(123));        // false

// isFinite: 判断既不是NaN类型 也不是InFinite类型
console.log(isFinite(123))          // true
console.log(isFinite(NaN));         // false
console.log(isFinite(Infinity));    // false
console.log(isFinite(' '))          // true
console.log(isFinite('123 '))       // true
console.log(isFinite('123abc'))     // false

条件语句

  • if 语句
  • 三目运算符 res = a>b?true:false (运行效率比if语句高)
  • switch语句
    • default break 都是可选语句了,当 case 后面没有 break 语句时,如果条件匹配成功,直接贯穿所有 case 语句,直到执行 break 语句

循环语句

  • while
  • do while
  • for
    for(var i = 0; i < array.lenght; i++)
    for(var i in array) // i 是下标
    for(var i of array) // i 是元素

break and continue

// js中循环是可以有名字的
// 语法格式   名称:循环语句
// break continue 可以跳过或终止 带有标签名的循环

label1 : for(var i =  0; i < 10; i++){
    label2 : for(var j = 0; j < 10; j++){
        if(j == 3){
            break label1;
        }
        console.log(i + '  ' + j);
    }
}

函数

函数的概述

  • 函数名:建议使用驼峰规则
  • 如果不写 return,系统默认返回 undefined
  • 函数在调用时只要有该函数的声明即可

函数的参数

function info(name, age) {
    document.write(name);
    document.write(age);
}
info('lily', '9'); // lily 9
info('lily');  // lily undefined
info('lily','9','c','d')  // lily 9

// js不定长参数
function printSum(){
    sum = 0;
    for(i in arguments)
        sum += arguments[i];
    return sum
}
console.log(printSum(1,2,3))

作用域

  • 新的作用域:函数会产生新的作用域,循环,条件语句不会产生新的作用域
  • 变量作用域
    • 全局变量:定在文件中,但在函数外的变量为全局变量,使用范围为整个文件的任意位
    • 局部变量:在函数内部使用var声明的变量为局部变量,使用范围为该函数内部

变量的提升

var num = 100;
/*
 * 在js中如果函数内部使用var声明变量时,在代码执行过程中,系统
 * 会自动把变量的声明语句(var )提到函数的最上方,这个操作叫做变量的提升
 * */
function fun1 () {
    console.log(num);  // undefined
    num = num +1
    console.log(num);  // NaN   undefined + 1 = NaN
    var num = 200
    console.log(num);  // 200
}
fun1();

参数默认值

// 定义一个函数,该函数有两个参数
// 参数的默认值
// 第一种方式: 在定义形参时,直接赋值
// 第二种方式: a = a||555;
// 第三种方式: a = a ? a : 333
function func2(a, b=999){
    // a = a||555;
    a = a ? a : 333
    console.log(a);
    console.log(b);
}
func2(1,2);
func2(4);
func2();

匿名函数

// 非即时函数
var a = function(num){
    console.log(num);
};
a(1233);

// 即时函数
(function(num){
    console.log(num);
})(666);

// 一般来说,匿名函数当做一次性函数使用,调用一次结束后,
// 一般情况下会把匿名函数作为即时函数,但是任何函数都可以
// 即时执行

// 普通函数形式的即时函数
/*(function abc(){
    alert('123')
})();*/

原文地址:https://www.cnblogs.com/qiuxirufeng/p/10408504.html

时间: 2024-10-11 13:47:33

JavaScript(类型转换、条件语句、循环、函数)的相关文章

JavaScript基本语法 -- 条件语句 &amp; 循环语句

条件语句 条件语句(Conditional statement)是JavaScript里面的基本结构之一,程序根据表达式的真假决定执行或者跳过某个分支,于是,条件语句有时候也可以称为"分支语句" 1. if & else if & else 基本写法如下: if (表达式1) { // 如果表达式1为真,执行代码块1 代码块1 } else if (表达式2) { // 如果表达式2为真,执行代码块2 代码块2 } else { // 否则,执行代码块3 代码块3 }

javascript(条件语句和循环语句)

一.条件语句(比较运算符.逻辑运算符.if语句) 1.比较运算符(==.!=.>.>=.<.<=.) 2.逻辑运算符(与运算符&&.或运算符||.非运算符!) 3.if语句 语法:if(条件){ ...... }else if(条件){ ...... }else{ ...... } 4.switch语法 语法:switch(...){ case..: .... break;(注意:case后面跟break;) .... default: break; } 二.循环语

python - 条件语句/循环语句/迭代器

条件测试:if 条件表达式python 的比较操作        所有的python对象都支持比较操作            可用于测试相等性.相对大小等            如果是复合对象,python会检查其所有部分,包括自动遍历各级嵌套对象,知道可以得出最终结果.        测试操作符            '=='操作符测试值得相等性               'is'    表达式测试对象的一致性.       python 中不同类型的比较方法            数字:通

js基础(条件语句 循环语句)

条件语句 if语句块的语法形式如下: //只有两种情况下if(条件){要执行的语句块;}else{要执行的语句块;} //多种情况下if(条件){要执行的语句块;}else if(条件){要执行的语句块;}else{要执行的语句块;} switch 语句的语法形式如下: switch(表达式){case 值1:执行的语句块;break;case 值2:执行的语句块;break;case 值3:执行的语句块;break; default:执行的语句块;} 练习: <script> //1.提示用

java基础 流程控制和条件语句,循环语句

顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用boolean表达式或boolean值作为选择条件,有三种结构形式: if翻译成中文,表示如果......,就干......., 第一种结构形式: if(boolean表达式) { 条件执行体 } if后面跟的{}表示一个整体-代码块,我们在这称为条件执行体,也就是说条件为true,就执行这一块代码块.

Javascript的条件语句与switch结构

条件语句 if语句 布尔值 两个结果 true forth If(布尔值){}else{} 一个等号 附加值 两个等号 值相等 三个等号 类型相等 if else结构 If(布尔值){}else{} switch结构 Switch(){ Case“”:声明 输出值(“”): Break; Deffult:输出值(); } 原文地址:https://www.cnblogs.com/CWJDD/p/10957341.html

javascript语句——条件语句、循环语句和跳转语句

× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文介绍可以改变语句默认执行顺序的条件语句.循环语句和跳转语句 条件语句 脚本的威力体现在它们可以根据人们给出的各种条件做出决策,javascript使用条件语句来做判断 条件语句(conditianal statement)通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句

javascript循环语句及函数

循环语句 1.While 语法: while (exp) { //statements; } 说明: while (变量<=结束值) { 需执行的代码 } 例1: var i = 1; while(i < 3){ alert(i); i++; } 注意:如果忘记增加条件中所用变量的值,该循环永远不会结束.这可能导致浏览器崩溃. ( 用while输出1-1000的数值 var i=1; while(i<=1000){ if(i%2){ document.write(i); } //输出1-

MySQL---存储过程 及 条件语句、循环语句

存储过程 存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行. 1.创建存储过程 1 -- 创建存储过程 2 3 delimiter // 4 create procedure p1() 5 BEGIN 6 select * from t1; 7 END// 8 delimiter ; 9 10 11 12 -- 执行存储过程 13 14 call p1() 无参数存储过程 1 注: 2 delimiter // 设置mysql的截止符为"//"

JavaScript基础学习--for循环

for循环语法: for (语句 1; 语句 2; 语句 3)   {  被执行的代码块   } 语句 1 (代码块)开始前执行 starts. 可选,可缺省.可以在此初始化任意(或者多个)值,同时还可以省略语句 1(比如在循环开始前已经设置了值时). 语句 2 定义运行循环(代码块)的条件.可选,可缺省.如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束.如果省略了语句 2,那么必须在循环内提供 break.否则循环就无法停下来. 语句 3 在循环(代码块)已被执