{
function aa() {
var a = b = c = 123 // b,c 变为全局变量
console.log(a, b, c) // 123, 123, 123
}
aa()
console.log(a, b, c) // undefined, 123, 123
}
{
var a = '100'
var b = ''
var c = 0
var d = "0" //字符串为真
var e = null
var f = undefined
var g = 100
var h = NaN
if (a) {
console.log('"100"', 'ture')
} else {
console.log('"100"', 'false')
}
if (b) {
console.log('空', 'ture')
} else {
console.log('空', 'false')
}
if (c) {
console.log('0', 'ture')
} else {
console.log('0', 'false')
}
if (d) {
console.log('"0"', 'ture')
} else {
console.log('"0"', 'false')
}
if (e) {
console.log('null', 'ture')
} else {
console.log('null', 'false')
}
if (f) {
console.log('undefined', 'ture')
} else {
console.log('undefined', 'false')
}
if (g) {
console.log('100', 'ture')
} else {
console.log('100', 'false')
}
if (h) {
console.log('NaN', true)
} else {
console.log('NaN', false)
}
}
{
console.log(isNaN(123)) // false
console.log(isNaN(-1.23)) // false
console.log(isNaN(5 -2)) // false
console.log(isNaN(0)) // false
console.log(isNaN('limingyang')) // true
console.log(isNaN('222')) // false
console.log(isNaN('222/222/222')) // true
console.log(typeof NaN) // 'number'
console.log(parseInt('aaaa')) // NaN
console.log(parseFloat('aaaa')) // NaN
}
{
var a = 100
console.log(!!a) // true
console.log(10 && 0) //0
console.log('' || 'abc') // abc
console.log(window.abc) //undefined
console.log(!window.abc) //true
console.log(null)
console.log(undefined)
console.log(!null) // true
console.log(!undefined) // true
console.log(!null === !undefined) // true
console.log(null == undefined) // true
console.log(undefined == '') // false
}
{
let num = 123
let num1 = '123'
console.log(num != num1)
console.log(num !== num1)
}
{
let obj = {
b: 100
}
console.log(obj.a == null) // ture 等价于obj.a === null || obj.a === undefined Jquery源码推荐写法
}
{
// 内置函数
console.log(Object, Array, Boolean, Number, String, Function, Date, RegExp, Error)
// 内置对象
console.log(Math, JSON)
}
{
// 数组判断
function aa() {
var a = b = c = 123 // b,c 变为全局变量
console.log(a, b, c) // 123, 123, 123
}
aa()
console.log(a, b, c) // undefined, 123, 123
}
{
var a = '100'
var b = ''
var c = 0
var d = "0" //字符串为真
var e = null
var f = undefined
var g = 100
var h = NaN
if (a) {
console.log('"100"', 'ture')
} else {
console.log('"100"', 'false')
}
if (b) {
console.log('空', 'ture')
} else {
console.log('空', 'false')
}
if (c) {
console.log('0', 'ture')
} else {
console.log('0', 'false')
}
if (d) {
console.log('"0"', 'ture')
} else {
console.log('"0"', 'false')
}
if (e) {
console.log('null', 'ture')
} else {
console.log('null', 'false')
}
if (f) {
console.log('undefined', 'ture')
} else {
console.log('undefined', 'false')
}
if (g) {
console.log('100', 'ture')
} else {
console.log('100', 'false')
}
if (h) {
console.log('NaN', true)
} else {
console.log('NaN', false)
}
}
{
console.log(isNaN(123)) // false
console.log(isNaN(-1.23)) // false
console.log(isNaN(5 -2)) // false
console.log(isNaN(0)) // false
console.log(isNaN('limingyang')) // true
console.log(isNaN('222')) // false
console.log(isNaN('222/222/222')) // true
console.log(typeof NaN) // 'number'
console.log(parseInt('aaaa')) // NaN
console.log(parseFloat('aaaa')) // NaN
}
{
var a = 100
console.log(!!a) // true
console.log(10 && 0) //0
console.log('' || 'abc') // abc
console.log(window.abc) //undefined
console.log(!window.abc) //true
console.log(null)
console.log(undefined)
console.log(!null) // true
console.log(!undefined) // true
console.log(!null === !undefined) // true
console.log(null == undefined) // true
console.log(undefined == '') // false
}
{
let num = 123
let num1 = '123'
console.log(num != num1)
console.log(num !== num1)
}
{
let obj = {
b: 100
}
console.log(obj.a == null) // ture 等价于obj.a === null || obj.a === undefined Jquery源码推荐写法
}
{
// 内置函数
console.log(Object, Array, Boolean, Number, String, Function, Date, RegExp, Error)
// 内置对象
console.log(Math, JSON)
}
{
// 数组判断