JS中的数据类型都有哪些?以及之间的区别?
简单数据类型:number string null undefined Boolean 复杂数据类型:object 简单数据类型是值类型 复杂数据类型是引用类型
检测数据类型的四种方式?
- typeof()
- instanceof()
- constructor
- Object.prototype.toString.call()
常用浏览器的内核都有哪些?
- webkit内核:谷歌 手机国产等浏览器
- Gecko内核:火狐firefix
- Presto内核 opera<14版本
- trident内核 IE
指出以下定义变量错误的方式:
A:var _zhufeng='珠峰';
B:var 8zhufeng='珠峰';//错误,数组不能开头
C:var $zhufeng='珠峰';
D:var zhu-feng='珠峰';
E:var parent='培训';//错误保留字
F:var default='培训';//错误关键字
以下哪种方式可以弹出‘珠峰’?
A:<div onclick="alert("珠峰")"></div>//不能 双引号里面包裹单引号 或者单引号里面包裹双引号
B:<div onclick="alert('珠峰')"></div>//OK
C:<script>
alert('珠峰');
</script>
D:<script src='js/zhufeng.js'>// 错误,引入其他文件的script标签中不能写代码
alert('珠峰');
</script>
写出下面程序的输出结果
var num = parseFloat('width:100px');//num =NaN
2.if(num===100){
3. alert(1);
4.}else if(num===NaN){
5. alert(2);
6.}else if(typeof num==='number'){
7. alert(3);
8.}else{
9. alert(4);
10.}
//输出3
写出下面程序输出几次,结果分别是多少?
for(var i=0;i<10;i+=2){
if(i<=5){
i++;
continue;
}else{
i+=3;
break;
}
console.log(i);
}
console.log(i);
-
js中常用的数据类型有哪些?
- 基本数据类型(值类型)number string nullundefined Boolean
- 复杂数据类型(引用引用)object(普通对象 数组对象 正则对象 Math对象 日期对象 类数组对象)function
-
浏览器中常用的内核有哪些?
- webkit 谷歌 safari 手机 opera》14
- gecko ff
- presto opera《14
- trident IE
-
数据类型之间的区别?
- 基本数据类型按值操作
- 引用类型操作的是堆内存的空间地址
-
列举常用的关键字和保留字?
- 关键字
- break
- continue
- if
- else
- for
- var/let /const/function /class/import/export
- instanceof/typeof
- return
- switch/case
- do/while
- delete
- new
- default
- this
- 保留字
- boolean
- float
- int
- double
- long
- char
- 关键字
-
js 中创建变量的几种常用方式?
- var/let/const/function/class/import
-
浏览器常用的输出方式,除了console.log还有那些?
- 输出console.log()
- console.dir()
- console.table()
- 弹窗alert()
- prompt
- confirm
- 三种方式的输出结果都是先经过toString转换为字符串
- 三种方式会阻断js代码的执行只有当窗口关掉js才会继续执行
- document.write()输出结果是字符串
-
script标签所放的位置有什么样的影响?
- 经常放到body最后面,是为了保证页面结构加载完成采取做这些事情
- 放到头部可能导致无法获取到需要操作的元素
- window.onload=function(){}
- 写出输出答案
let a={
n:1
}
let b=a;
a.x=a={
n:2
}
console.log(a.x)//undefined
console.log(b)//{n:1,x:{n:2}}
- 第九道题
var a='abc'+123+456 //'abc123456'
var b='456'-'123'//'333'
var c=100+true+21.2+null+undefined+'Tencent'+[]+null+9+false//'NaNTencentnull9false'
console.log(a,b,c)
- 第十道题
var str='abc123';
var num=parseInt(str);
if(num == NaN){
alert(NaN)
}else if(num === 123){
alert(123)
}else if( typeof num == 'number'){
alert('number')
}else{
alert('str')
}
- 第十一题
var a=0;
var b=a;
b++;
alert(a) 0
var o={};
var b=0;
b.a=10;
alert(o.a)//10
- 输出‘1’的有哪些?
alert(1) √
console.log(parseInt(1.3)) ×
console.log(1) ×
console.log(isNaN(1)) false
console.log(parseInt('1')) ×
- 能输出'undefined'的是?
console.log(alert(1)) alert(1)返回值是undefined 但不是字符串类型的
typeof undefined √ 字符串undefined
console.log(parseInt(undefined)) × NaN
isNaN(undefined) × true
let i=1;
/**
* 1-2(i变成2)+1(变成1)+1+2(变成2)-1(变成1)-1
*/
console.log(1-(++i)+(i--)+1+(i++)-(--i)-1);//1
console.log(i);//1
- 得到true的是?
isNaN(null) false
isNaN(parseInt(null)) true
Number(null) 0
parseFloat(null) NaN
- 输出程序
parseInt('') NaN
Number('') 0
isNaN('') false
parseInt(null)NaN
Number(null)0
isNaN(null)0
parseInt('12px')12
Number('12px')NaN
isNaN('12px')NaN
- 程序输出的结果
if(isNaN(NaN) == ''){
console.log('mengyang')
}else{
console.log('yuanyuan')
}
- 程序输出的结果
let x=[1,2,3];
let y=x;
let z=[4,5,6];
y[0]=10;
y=z;
z[1]=20;
x[2]=z=30;
console.log(x,y,z)
- 程序输出结果
for(var i=0;i<10;i++){
console.log(i) //0
break//此循环直接结束
}
console.log(i) //0
for(var i=0;i<10;i++){
continue//当前循环立即结束,开始下一次循环
console.log(i)
}
console.log(i) //10
for(var i=1 ;i<=10;i+=2){
if(i<=5){
i++
continue
}else{
i-=2
break
}
i--
console.log(i)
}
console.log(i)// 输出一次 5
for(var i=3;i<12;i++){
if(i<3){
i++
break
}
if(i>9){
i+=2
continue
}
i--
}
console.log(i)
- 改成三元运算符 输出结果
let a=12
if(a>=0 &&a<=20){
if(a%2 === 0){
a+=2
}else{
a-=2
}
console.log(a)//14
a>=0 &&a<=20?(a%2 === 0?a+=2:null):(a-=2)
- 算出输出的结果
let a=typeof typeof typeof [12,23];
console.log(a) 'string'
/**
* 1+0+1+NaN+
'NaNTencentfalseundefinednull'
*/
let result = 1+null+true+undefined+'Tencent'+false+[]+undefined+null;
console.log(result);
- 算出输出的结果
var a='10'
a ==10?a++:a--
console.log(a)//11
let b='10'
switch(b){
case 10:
b++
break;
default:
b--
}
//case值的比较是===比较的
console.log(b)//9
- 前++后++计算
let i=3;
console.log(5+(++i)+(i++)+3-2+(--i)+(i--)-2)
- 扩展
//true
!(!'Number(undefined)')
//'2undefined'
isNaN(parseInt(new Date()))+Number([1])+typeof undefined
//false+true+true+'boolean'----'2boolean'
Boolean(Number(''))+!isNaN(Number(null))+Boolean('parseInt([])')+typeof !(null)
//'2.6number'
parseFloat('1.6px')+parseInt('1.2px')+typeof parseInt(null)
//false
isNaN(Number(!!Number(parseInt('0.8'))))
//122
console.log(1+'2'+'2')
//false
!typeof parseFloat('0')
//0
Number('')
//'string12false'
typeof 'parseInt(mull)'+12+!!Number(NaN)
//NaN
!typeof (isNaN(''))+parseInt(NaN)
//'booleantrue'
typeof !parseInt(null)+!isNaN(null)