是一门(基于对象)和(事件驱动)的(脚本语言)。
2. js诞生于哪一年?哪个公司?谁?第一个名字叫什么?
1995年 网景 布兰登 liveScript
3. JS的第一套标准:
ECMA-262
4. js包含哪些部分?
5. java和javascript是什么关系?
6. js的作用是什么?
注 : 外部引用脚本时,script标签中不要写任何内容,写了也不执行!
用于在内存中开辟空间,这个空间中存储数据,且随着程序的运行,空间中的数据会发生变化,所以称为变量。
规则:从左到右,如果遇到 变量 ++ 先取出变量中的值参与其它运算,再自加1。 如果遇到 ++ 变量,直接取加1后的值参与运算。
//声明一个变量
// var i = 3;
// 3 4
// // i ++;
// ++ i;
// console.log(i); //4
// var i = 3;
// // 3 4
// console.log(i ++); //3
// console.log(i); //4
// var i = 3;
// // 4
// console.log(++ i); //4
// console.log(i); //4
// var i = 3;
// // 4 4 5 5 4
// var j = ++ i + i ++ + i --;
// // 4 + 4 + 5
// console.log(i,j); //4 13
var i = 3;
// 3 4 5 5 6
var j = i ++ + ++i + i ++;
// 3 + 5 + 5 j = 13,i = 6
// 7 13 14 7 6
var k = ++i + j ++ + i --;
// 7 + 13 + 7 k = 27 j = 14 i = 6
console.log(i,j,k); //6
* (乘) /(除) %(模) -(减)
规则:Number类型,直接运算Number与String类型运算,先将String类型转为Number类型,如果是纯数字字符串,则转为数字,直接运算。如果不是纯数字字符串,则转为NaN,与NaN计算的结果,都是NaNtrue(1) false(0) null(0) undefined(NaN)
console.log(2 * 3); //6
console.log(2 * '3'); //6
console.log('2' * '3'); //6
console.log(2 * '3a'); //NaN (Not a Number)
console.log(2 * true); //2
console.log(2 * false); //0
console.log(2 * null); //0
console.log(2 * undefined); //NaN
console.log(10 / 2); //5
console.log(10 / '2'); //5
console.log(10 / '2a'); //NaN
console.log(true / 2); //0.5
console.log(false / 2); //0
console.log(2 / null); //Infinity 无穷
console.log(0 / 0); //NaN
console.log(2 / undefined); //NaN
console.log(5 % 2); //1
console.log(5 % 5); //0
console.log(5 % '2'); //1
console.log(5 % '2a'); //NaN
console.log(5 % true); //0
console.log(5 % false); //NaN
console.log(2 % 5); //2
console.log(3 % 5); //3
console.log(5 - 3); //2
console.log(5 - '2'); //3
console.log(5 - '2a'); //NaN
console.log(5 - true); //4
console.log(5 - false); //5
console.log(5 - null); //5
console.log(5 - undefined); //NaN
(加) 规则:如果+号两边有字符串,则将两个数据连接成新的字符串。true(1) false(0) null(0) undefined(NaN)
> (大于) <(小于) >= (大于或等于) <= (小于或等于)
规则:Number类型之间比较,直接比较String类型之间比较,从左到右依次比较字符,直到比出结果。Number与String类型之间比较,先将String转为Number,再比较true(1) false(0) null(0) undefined(NaN)
console.log(3 > 2); //true
console.log(1 >= '1'); //true
console.log(0 >= 'false') //false
console.log(0 <= false); //true
console.log(0 >= null); //true
console.log('100' > '2') //false
console.log(2 > NaN); //false
== (等于) != (不等于) === (恒等于) !== (不恒等)
区别: == 和 != : 只比较结果,不比较类型。 === 和 !== : 先比较类型,如果类型相同,再比较结果。
console.log(2 == '2'); //true
console.log(2 === '2'); //false
console.log(2 != '2'); //false
console.log(2 !== '2'); //true
//切记:切记:切记:
console.log(null == 0); //false
console.log(null == false); //false
console.log(null == ''); //false
console.log(null == undefined); //true
console.log(null === undefined); //false
console.log(NaN === NaN); //false
规则: 非真即假、非假即真
console.log(!0); //true
console.log(!false); //true
console.log(!''); //true
console.log(!null); //true
console.log(!undefined); //true
console.log(!NaN); //true
console.log(!' '); //false
console.log(!8); //false
console.log(!-8); //false
console.log(!!8); //true
规则 如果&&左边表达式的值为true时,返回右边表达式的值。 如果&&左边表达式的值为false时,发生短路,返回左边表达式的值。
var i = 3;
var j = !i >= 0 && (i = 4);
console.log(i,j); //4 4
var k = 3;
var m = k % 5 - 3 && (k = 4);
console.log(k,m); //3 0
var a = 3;
var b = 3 - 3 * 4 % 2 && (a = 4);
console.log(a,b); //4 4
规则 如果||左边表达式的值为true时,发生短路,返回左边表达式的值。 如果||左边表达式的值为false时,返回右边表达式的值。
var i = 3;
var j = i - i % 4 || (i = 4);
console.log(i,j); //4 4
var k = 3;
var m = 3 - 3 % 2 || ( k = 4);
console.log(k,m); //3 2
赋值号左边,只能变量 赋值号右边,可以常量、变量、表达式。
规则:先取运算符左边变量中的值 与 右边表达式的值 进行相应的 算术运算,最后将运算的结果再赋值给左边的变量。
var i = 3; //Number
var o_num = new Number(3);
console.log(typeof i,typeof o_num); //'number' 'object'
var o_bool = new Boolean();
var o_str = new String();
var obj = new Object();
console.log(typeof 3); //'number'
console.log(typeof '3'); //'string'
console.log(typeof true); //'boolean'
console.log(typeof null); //'object' 不是对象的对象。
console.log(typeof undefined); //'undefined'
console.log(typeof NaN); //'number' 不是数字的数字
console.log(typeof typeof false);//'string'
当省略第二个参数或第二个参数为0时,表示十进制。 当第二个参数是< 2 || > 36时,结果为NaN 如果第二个参数是2~36中的范围时,判断第一个参数是否符合第二个参数的进制范围,如果符合,则正常转为整数,如果不符合进制范围,则直接返回NaN
console.log(parseInt('1.2.3')); //1
console.log(parseInt('3 42')); //3
console.log(parseInt(' 3')); //3
console.log(parseInt('')); //NaN
console.log(parseInt('a23')); //NaN
console.log(parseInt('2',0)); //2
console.log(parseInt('2',1)); //NaN
console.log(parseInt('2',37)); //NaN
console.log(parseInt('2',2)); //NaN
console.log(parseInt('2',3)); //2
console.log(parseFloat('1.2.3.5')); //1.2
console.log(parseFloat('2 34')); //2
console.log(parseFloat('')); //NaN
console.log(parseFloat('a2.3')); //NaN
console.log(Number('1.2.3')); //NaN
console.log(Number('2 34')); //NaN
console.log(Number('')); //0
console.log(Number('a23')); //NaN
阅读量:1084
点赞量:0
收藏量:1