webveuje/zuoye/js/基础.md
2021-04-29 17:16:40 +08:00

4.7 KiB
Raw Permalink Blame History

js 基础练习

  • 写出四种js引入方式并举例

  • 下面两段代码说明js文件的加载顺序并解释原因 demo1:

    <script async src="js/vendor/jquery.js"></script>
    <script async src="js/script2.js"></script>
    <script async src="js/script3.js"></script>
    
    

    demo2

     <script defer src="js/vendor/jquery.js"></script>
    <script defer src="js/script2.js"></script>
    <script defer src="js/script3.js"></script>
    
    
  • 如果浏览器不支持javascript的语法需要在页面上提示您的浏览器不支持javascript 运行 如何实现

  • 列举几种js 交互方式

  • js的组成

  • JavaScript 如何与 HTML 和 CSS 协同工作

  • 在外部文件中放置js脚本有什么优势

变量和常量

  • 如何交换两个变量的值

  • 字面量和变量的关系及区别

  • 变量命名规则

  • 下面代码执行结果为 原因是

      var obj1 = new Object(); 
      var obj2 = obj1; 
      obj1.name = "Nicholas"; 
      alert(obj2.name);
    
    
  • 用一行语句声明5个变量 其中值包有一个只声明不赋值 其他分别为null 数值 字符串 布尔 数据类型

  • 数据类型可以分为哪几类 有什么区别

  • 如何实现功能 当浏览器不支持javascript脚本的时候 给用户在页面上提示“您的浏览器不支持javascript 脚本,请尽快升级浏览器”

  • typeof 检测数据类型的返回值都有什么 分别代表什么意思

  • 类型转换相关

    1. 输入两个数字,点求和弹出两个数字相加的结果。

      1. 输入框的默认value进行相加结果是进行了字符串相加而非数字相加。

      2. 将value的值进行parseInt之后再相加就是数字相加的结果了。 如果输入12+abc会是什么结果 你得到了什么结论 3.isNaN检测输入框的内容是不是NaN。true为真false为假。 4.写出下面的执行结果 1 + '1' true + 0 {}+[] 4 + {} 4 + [1] 'a' + + 'b' console.log ( [] == 0 ) console.log ( ! [] == 0 ) console.log ( [] == ! [] ) console.log ( [] == [] ) console.log({} == !{}) console.log({} == {})

      3. 定义一个变量存储数据1234分别输出个位十位百位千位数字

      4. 输入两个数字,相减四舍五入(.toFixed() 把保留几位小数写在括号里)

      5. 从弹框中输入一个字符判断这个字符是否是英文字母数字汉字4e00-9fa5

      6. 下面代码的输出结果 console.log(10 + " cats"); console.log(10 * " cats"); Boolean([]) console.log(10 + "2"); console.log(10 - "2"); Number("3") console.log(10 / "2"); console.log(10 * "2"); String(false) console.log(10 * " 2"); console.log("10" * "2"); console.log(Object(undefined)); console.log(Object(null));

      7. 下面代码的执行结果 var str = "abc"; str[0] = "d";

      console.log(str[1]="e"); console.log(str[0]); console.log(str); var num = [1,2,3]; num[0] = "a";

      console.log(num);

      1. 下面代码的执行结果 var obj1 = {age: 22}; var obj2 = obj1;

        console.log(obj1 === obj2); obj2.age = 18; console.log(obj1 === obj2);

      2. 解释1011结果出现的原因 并归纳基本数据类型和引用数据类型的区别

      3. 下面代码的输出结果 var obj1 = {age: 22}; var obj2 = obj1; console.log(obj1 === obj2); obj2.age = 18; console.log(obj1 === obj2); console.log("1" instanceof String); console.log(("1").constructor === String); console.log((1).constructor === Number); console.log((true).constructor === Boolean); console.log(([]).constructor === Array); console.log((function() {}).constructor === Function); console.log(({}).constructor === Object); console.log(1 instanceof Number); console.log(true instanceof Boolean); console.log([] instanceof Array); console.log(function(){} instanceof Function); console.log({} instanceof Object); var test = Object.prototype.toString; console.log(test.call("str")); console.log(test.call(1)); console.log(test.call(true)); console.log(test.call(null)); console.log(test.call(undefined)); console.log(test.call([])); console.log(test.call(function() {})); console.log(test.call({}));