美文网首页
数据类型运算符流程控制语句

数据类型运算符流程控制语句

作者: 饥人谷_秦勤 | 来源:发表于2017-10-27 17:14 被阅读0次

1.JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?

数值,布尔值,字符串,null,undefined,对象
数值(number):整数和小数(比如1和3.14)
字符串(string):字符组成的文本(比如"Hello World")
布尔值(boolean):true(真)和false(假)两个特定值
undefined:表示“未定义”或不存在,即此处目前没有任何值
null:表示空缺,即此处应该有一个值,但目前为空
对象(object):各种值组成的集合

原始类型:数值,布尔值,字符串
复杂类型:对象(狭义的对象,数组,函数,正则表达式)

区别:复杂类型由几个原始类型构成,原始类型不能再进行细分

2.typeof和instanceof的作用和区别?

typeof返回一个值的数据类型,一般返回结果由number,string,true,false,object,undefine,function
我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错, 对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。

instanceof返回布尔值(true,false),判断一个值是否属于该数据类型

区别:instanceof用于判断一个变量是否某个对象的实例,而typeof判断运算数的类型

3.如何判断一个变量是否是数字、字符串、布尔、函数

function fn(a){
if(typeof a=='number'){alert('number')}
else if(typeof a=='boolean'){alert('boolean')}
else if(typeof a=='string'){alert('string')}
else if(typeof a=='function'){alert('function')}
}
fn(123);
fn(true);
fn("abc");
fn(fn);

4.NaN是什么? 有什么特别之处?

NaN含义是Not a Number,表示非数字,NaN和任何值都不相等,包括自己
特别:任何NaN的值进行操作都会返回一个NaN,其次,NaN与任何值都不相等即NaN === NaN也是false.

5.如何把非数值转化为数值?

parseInt()
parlFoatse()
Number()
parseInt parseFloat
忽略字符串前面的空白字符,找到第一个非空白字符
如果第一个字符不是-或者数字返回NaN
如果是继续解析,直到非数值模式为止
0开头会当做八进制,0x开头会当做十六进制,但是可以指定第二个参数指定基数

6.==与===有什么区别

== 相等
=== 严格相等
”==”与”===”是不同的,一个是判断值是否相等(js会在一些情况下进行隐式的类型转换再进行比较),一个是判断值及类型是否完全相等

7.break与continue有什么区别

break:强制退出当前循环体,执行循环后面的语句(多个循环嵌套,仅跳出当前循环体)
continue:退出本次循环,执行下次循环

8.void 0 和 undefined在使用场景上有什么区别

undefined在某些场景例如函数内是可以被赋值,而void操作符则永远会返回undefined

9.以下代码的输出结果是?为什么?

console.log(1+1);    //2  数值相加
console.log("2"+"4");   //24 字符串拼接
console.log(2+"4");  //24    一个是数字一个是字符串,数字转化为字符串后拼接
console.log(+"4"); //4   只有一个数字参数,返回其正数值
  1. 以下代码的输出结果是?
var a = 1;  
a+++a;   
typeof a+2;
 //number2   typeof a是number,“+”后数字转换为字符串后拼接
  1. 以下代码的输出结果是? 为什么
 var a = 1; 
 var b = 3; 
 console.log( a+++b ); 
//4  (a++)+b
  1. 遍历数组,打印数组每一项的平方
var arr = [3,4,5]
for(i=0;i<arr.length;i++){
console.log(arr[i]*arr[i]);
}
for(i in arr){
console.log(arr[i]*arr[i])
}
  1. 遍历 JSON, 打印里面的值
var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
}
for(var i in obj){
console.log(i+":"+obj[i]);
}
  1. 以下代码输出结果是? 为什么 (选做题目)
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val)       
 //number2
//优先级 typeof ,+,>,|| ,number2||true,返回左边值
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)     
//bb
//undefined
//(d ==5 )&& console.log('bb')逻辑与(&&)如果第二个操作数是对象,则只有在第一个操作数求值结果为true的情况下返回该对象
var data2 = d = 0 || console.log('haha')
console.log(data2)    
//haha
//undefined
//如果第一个操作数的求值结果为false,则返回第二个操作数
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)       
//2
//!!"Hello" 为true, !"world"为false, !!"from here!!"为true,(!"world", !!"from here!!")返回!!"from here!!"(true),true+true类型相加为2

相关文章

  • 2018-09-09

    java语法 包括 数据类型 、变量、运算符、流程控制语句、循环结构 1、数据类型 基本数据类型: ①浮点型(小数...

  • 数据类型运算符流程控制语句

    数据类型运算符流程控制语句 一、JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类...

  • 数据类型运算符流程控制语句

    数据类型运算符流程控制语句 JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和...

  • Dart语法学习

    目录 参考资料 语言特性 关键字 变量与常量 数据类型 运算符 operators 控制流程语句 异常 Excep...

  • JS语法

    JavaScript基本概念、基础数据类型、运算符、流程控制语句。 一、CSS和JS在网页中的放置顺序是怎样的? ...

  • 关于Javascript语法

    * 这是关于JavaScript基本概念、基础数据类型、运算符、流程控制语句的一些小知识 * 1.CSS和JS在网...

  • 16.JS 语法

    学习内容:JavaScript基本概念,基础数据类型,运算符,流程控制语句 一、CSS和JS在网页中的放置顺序是怎...

  • Flutter之Dart语言 简述

    目录 变量声明 数据类型 关键字与运算符 流程控制语句 函数 变量声明 1. var var 类似于JavaScr...

  • 2018.10.31条件语句和循环语句

    流程控制语句 JS条件语句 通过条件来控制程序的走向,需要用到条件语句 运算符分类 明细算术运算符 +(加)...

  • 编程基础(掌握)

    常量与变量、数据类型、运算符、流程控制语句、方法、数组 *注释:用来解释说明代码的-->写代码一定要写注释 单行注...

网友评论

      本文标题:数据类型运算符流程控制语句

      本文链接:https://www.haomeiwen.com/subject/btgtjxtx.html