js练习

2019-06-26  本文已影响0人  码农也会修真
// string和tostring

console.log(String(Object))
    // to string没有undefined和null的数据类型但是可以传递一个参数:输出数值的基数//
    // string:强转函数,可以转化任何类型的值
// 三目运算符

var a = 2;
var c = 3;
var b = (a > c) ? a : c;
console.log(b) // 边界值 ? 真的话 : 假的话   
    // 例子:表达式1 ?表达式2 : 表达式3

// 执行顺序:先求表达式1,若值为非0,表示条件为真,则求表达式2,此时表达式2的值就作为整个条件表达式的值;

//若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值.

alert('大佬') /弹出框/ /会阻碍javascript的解析/
document.write('大佬666') /打印在页面/

// ECMAScript中的一切(变量、函数名、和操作符)都严格区分大小写。
// 第一个字符必须是一个字母、下划线(_)或一个美元符号($);其他的字符可以是字母、下划线、美元符号或数字;

// ECMAScript的变量是松散类型的,所谓松散类型就是可以保存任何类型的数据。

// var定义的变量叫显式声明, 省略var声明的变量叫隐式声明。也可以定义全局变量;

// 栈内存:5种基本数据类型的值保存在栈内存中(值传递) 堆内存:对象类型的值保存在堆内存中(地址传递)

var a1;
console.log(a1) /*undefined*/
console.log(typeof a1) /*undefined*/ // 声明变量但不赋值为undefined检测其数据类型也为undefined//
var car = null;
console.log(car); //null
console.log(typeof car); //"object"    /* Null是特殊的对象类型:object*/
console.log(undefined == null ? true : false) // true//   /*实际上undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。*/
var num = 0.1 + 0.2;
console.log(num) //0.30000000000000004// /* 浮点数值的最高精度是17位小数*/
console.log(5 - "hello"); //NaN
NaN + 4 // NaN//     /*任何涉及NaN的操作都会返回NaN。*/
    // NaN与任何值都不相等, 包括NaN本身。//
alert(NaN == NaN) //false  自我否定

/数据类型包含一些特殊的字符字面量,也叫转义序列(字符),用于表示非打印字符/
/* \n 换行 /
/
\t 制表 /
/
\b 空格 /
/
\r 回车 /
/
\f 换页 */

/*全等和相等*/

// 全等运算符由 3 个等于号( === )表示,比较值的同时比较数据类型是否相等 //
// 相等运算符由2个等于号( == )表示 只比较值是否相等 //

var result1 = ("55" == 55); //true,/*转换后为( 55 == 55 )*/
var result2 = ("55" === 55); //false,
/*转换后不仅比数值还比数据类型(string === number )为false */
上一篇 下一篇

猜你喜欢

热点阅读