基础面试题整理2

  1. 以下 javascript 代码,在浏览器中运行的结果是 (string)

    var a = 4399 < 0 || typeof (4399 + '');
    console.log(a);   //string
    

    4399<0值为false
    (js中字符串的前面或者后面有加号)拼接 4399+ ‘’ => 4399 隐式转换成字符串
    第一个值为true,则结果为true,第一个值为false,则返回第二个值

  2. 获取 input 节点的正确方法是( 全错 )

    <form class="file" name="upload">
    	<input id="file" name="file" />
    </form>
    
    document.querySelectorAll('file')[0]-------document.querySelectorAll('#file')[0]
    document.getElementById('file')[0]------document.getElementById('file')
    document.getElementByTagName('file')[0]------document.getElementsByTagName('input')[0]
    document.getElementsByClassName(‘file')[0]------input没有class属性
    
  3. console.log(([])?true:false); //true
    console.log(([]==false?true:false)); //true
    console.log(({}==false)?true:false)  //false
    
    1. 三目运算符(只能执行一条语句,不能出现分号):
      格式:条件 ? 语句1 : 语句2; 如果条件为真,则执行语句1,否则执行语句2;
    // 1判断一个年份是闰年还是平年?
       var year = 2015;
       console.log(year % 4 == 0 && year % 100 == 0 || year % 400 == 0 ? '闰年' : '平年');//平年
    // 2判断一个数是奇数还是偶数?
       var inum = 5;
       console.log(inum % 2 == 0 ? '奇数' : '偶数');//偶数
    // 3判断一个数是正数还是负数?
       var inum = -5;
       console.log(inum == 0 ? '既不是正数也不是负数' : inum > 0 ? '正数' : '负数');//负数
    
    1. 数据类型的转换与比较
    console.log(Boolean([]));//true
    console.log(Number([]));//0
    console.log(Number({}));// NaN
    console.log(Number(false));//0
    
  4. 假设 output 是一个函数,输出一行文本。下面的语句输出结果是什么?

    output(typeof (function() {output(“Hello World!)})());
    undefined Hello World!
    Object
    string
    function
    Hello World! undefined    √
    

    先立即执行匿名函数,输出Hello World!,函数执行后无返回值,则输出undefined

  5. null、undefined、0会返回false

  6. 自己定义 或 运算过程中出现错误,原本应该是数字的地方出现一些不能转换为数字的值会返回NAN
    比如: 10+“s” ,Number(“s”)等

  7. 类型转换:
    用number方法将字符串转为number类型时,只能转换纯数字字符串和空字符串,其它的都是NAN。

    parseInt转换为整数、parseFloat可保留小数,都可转为number类型,但是转换时需要对数据进行数据解析,从前往后,若存在能识别得数字则解析,遇不到就结束转换返回NAN。

    isNaN 是不是 不是数字,返回boolean值,是返回true,不是false。

    隐式:在数据进行算术运算时,出现+运算,+ - * / 等操作都转化为number类型。
    加法运算在遇到字符串时,‘+’会变成连接符,将字符串前后拼接起来,转化为string值。

    1. 强制类型转换 :
      Number(“10”); 强转为Number
      parseInt(“10.5”);强转为number,取整
      parseFloat(“10.5”);强转为number,保留小数 String(10); 强转为字符串
      10.toString(); 强转为字符串
    2. 隐式类型转换:
      “10”+20 ; 1020 +号遇到字符串变成连接符,20隐式转换为字符串
      1+true; 2 true隐式转换为1 10==“10” “10”隐式转换为10
  8. 变量提升
    浏览器解析js代码至少会经过两个过程,预解析、逐步执行。
    预解析:找var,function,如果找到var,会在内存中存储变量(没赋值),找到function则会存储整个函数
    逐步执行

    console.log(a);  //undefined 不会报错,找到var存储了变量a,但是没有赋值默认为undefined 
    var a = 10;   //给内存中的a赋值10
    console.log(a);   //10
    
    console.log(sum);  //找到函数会将整个函数都存储在内存中 		
    sum();  //整个函数,存储了整个函数,因此可以在前面调用 
    function sum() {
    	console.log(10+20); //30
    }
    
  9. js有哪些对象?
    原生对象:Object,Function ,Array, String, Date, Boolean, Number,RegExp,Error
    内置对象:Global(全局 window, documet),Math
    宿主对象:DOM BOM
    全局对象:window

  10. DOM怎样添加、移除、移动、复制、创建和查找节点
    获取子节点:父节点.children / 父节点.childNodes
    获取父节点:子节点.parentNode / 子节点.offsetParent
    创建:document.createElement(‘标签名’); / document.createTextNode(‘文本内容’);
    添加:父节点.appendChild(子节点); / 父节点.insertBefore(new,ref);
    复制:被复制的节点.cloneNode(true);
    删除:节点.remove(); / 父节点.removeChild(子节点)
    替换:父节点.replaceChild(new,ref);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 面试题整理是为了帮助准备面试的候选人更好地了解面试的内容和要求。对于Java2021的面试题整理,可以从各个方面进行组织和分类,以便更好地帮助面试者准备。下面是我对Java2021面试题整理的一些建议。 1.基础知识:面试题可以包括Java语言的基本语法、关键字、数据类型、流程控制语句、异常处理等方面的问题。这些问题可以帮助面试者检验自己对Java语言基础知识的掌握程度。 2.面向对象:面试题可以涉及Java面向对象的概念、封装、继承、多态以及接口、抽象类等方面的问题。这些问题可以帮助面试者了解Java面向对象编程的特点和应用。 3.集合框架:面试题可以包括关于Java集合框架的知识,如ArrayList、LinkedList、HashSet、HashMap等的特性、用法和区别。这些问题可以帮助面试者检验自己对Java集合框架的理解和应用能力。 4.多线程:面试题可以涉及Java多线程编程的基本概念、线程的创建与启动、线程同步与互斥、线程池等方面的问题。这些问题可以帮助面试者了解多线程编程的原理和实践。 5.IO流:面试题可以包括关于Java IO流的知识,如输入输出流的分类、字符流和字节流的区别、文件读写操作等方面的问题。这些问题可以帮助面试者检验自己对IO流的理解和应用。 6.异常处理:面试题可以涉及Java异常处理的机制、try-catch语句的使用、自定义异常等方面的问题。这些问题可以帮助面试者了解异常处理的原理和常见应用。 7.Java虚拟机:面试题可以包括Java虚拟机(JVM)的基本概念、内存模型、垃圾回收算法等方面的问题。这些问题可以帮助面试者了解JVM的工作原理和性能优化。 8.框架和工具:面试题可以涉及Java常用的开发框架和工具,如Spring、Hibernate、MyBatis、Maven等方面的问题。这些问题可以帮助面试者了解开发框架的应用和工具的使用。 通过对这些方面的面试题整理,可以帮助面试者全面了解Java2021面试的内容和要求,并有针对性地准备和复习相关知识。面试者应该注重理论的学习,同时结合实践经验进行练习,以便在面试时能够更好地展示自己的能力和潜力。同时,面试者还应注意自己的沟通能力、问题分析能力和解决问题的能力,这些都是面试过程中重要的评估指标。 ### 回答2: Java2021面试题整理主要集中在以下几个方面: 1. 基础知识:Java中的基本数据类型、变量和常量、运算符、控制语句等内容是面试中常见的考点。面试官会通过这些问题判断候选人对Java基础知识的熟悉程度和掌握能力。 2. 面向对象编程:Java是一门面向对象的编程语言,所以面试中对面向对象的理解和应用也是重要的考点。常见的问题包括类和对象、继承和多态、封装和抽象等。 3. 异常处理:Java中的异常处理是编程中的重要内容,面试中会涉及到异常的概念、异常的分类、如何捕获和处理异常、自定义异常等。 4. 集合框架:Java集合框架是Java开发中常用的工具,常见的面试题会涉及到ArrayList、LinkedList、HashMap等集合的特点和应用场景,以及集合的遍历和使用方法。 5. 多线程:Java是一门支持多线程的语言,所以多线程的知识也是面试中的热点考点。常见的问题包括线程的生命周期、线程同步与互斥、线程间的通信、线程池等。 6. JVM相关知识:Java虚拟机(JVM)是Java运行的基础,所以对JVM的了解也是面试中的重要考点。常见问题包括JVM的结构、内存模型、垃圾回收机制等。 此外,面试中还可能涉及到数据库、网络编程、设计模式等其他相关知识。因此,面试前需要对Java的相关知识有全面的掌握,并且要能够灵活运用这些知识进行问题的解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值