美文网首页
JavaScript 初学介绍

JavaScript 初学介绍

作者: Christoles | 来源:发表于2019-02-27 16:35 被阅读0次

面试

1.JS是什么?

    JavaScript: 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,
最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 
    组成:ECMAScript + DOM + BOM

other

1.JS是专门为网页交互而设计一个弱类型脚本语言,弱类型即数据类型可以被忽略的语言,一个变量可以赋予不同数据类型;
的值,脚本语言即直接运行而不需要编译的语言
2.JS由web浏览器进行解释和执行;
3.JS是由BOM(浏览器对象模型)和DOM(文档对象模型)在ECMAScript的规则下组成的语言.

2.JS的数据类型有哪几种,哪些是简单类型变量,哪些是复杂类型变量,它们有什么区别?

js的数据类型分为两种:简单(基本)数据类型,复杂(引用)数据类型
          /* (1)--简单数据类型:
           * 1、number(数字类型)
           * 2、string(字符串类型)
           *    用双引号"" 或者单引号'' 或者反单引号``括起来的内容就是字符串(其中单双引号没有区别)
           * 3、Boolean(布尔值),只有两个值:true,false
           * 4、undefined,只有一个值:undefined
           * 5、null,只有一个值:null
           * 6、symbol:表示唯一的值

           * (2)--复杂数据类型:
           * object(对象)
           */
            
区别:
    1、基本数据类型把数据名和值直接存储在栈当中;
而复杂数据类型在栈中存储数据名和一个堆的地址,在堆中存储属性及值,访问时先从栈中获取地址,再到堆中拿出相应的值。
    2、基本数据类型作为参数时,函数内部对参数值的修改不会改变外部变量的值;
复杂数据类型作为参数时,函数内部对参数值的修改会改变外部变量的值。

other

基本数据类型有undefined、null、Boolean、number、string
复杂数据类型为object(function,array)
基本类型变量存的是值,复杂类型的变量存的是内存地址

3.用代码来表示具体如何定义JS的各种类型变量?

五大常用知识:字符串、数字、布尔、Undefined、Null / 
三大引用类型:函数、对象、数组
          var x = 123;
          var y = "123";
          var z = true;
          var k = undefined;
          var j = null;
          var i = new Object();
          var p = function(){}
          var q = new Array();

4.undefined和Null的区别?

undefined:已经声明变量,但没有赋值;
Null:连变量都没有声明
    1、undefined表示一个变量没有被声明,或者被声明了但没有被赋值(未初始化),
一个没有传入实参的形参变量的值为undefined,如果一个函数什么都不返回,则该函数默认返回undefined;
       null是一个表示“没有值”的值;
    2、Javascript将未赋值的变量默认值设为undefined;而从来不会将变量设为null。
它是用来让程序员表明某个用var声明的变量时没有值的;
    3、undefined不是一个有效的JSON,而null是;
    4、undefined的类型(typeof)是undefined;null的类型(typeof)是object. ;
    5、都是基本类型;都是falsy (Boolean(undefined) ->// false, Boolean(null) ->// false);
    6、判断一个变量是否是undefined。typeof variable === "undefined";
判断一个变量是否是null。variable === null;
    7、双等号比较时它们相等(null==undefined ->// true),
但三等号比较时不相等(null===undefined ->// false);

5.script标签写在页面头部和底部,有何区别?

    加载页面时,按照文档流的方向读取,由于JS文件过大,可能会阻塞文档解析,出现白屏的页面;
    由于JS需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,所以建议放在底部。

6.如何保证在页面基本结构和样式加载后,再执行我们的JS脚本

    window.onload=function(){...}

7.如何判断一个变量是属于哪种变量类型(字符串、数值、布尔值、Null、undefined、对象、数组、函数)?

    console.log(typeof 变量)
    console.log(Object.constructor.toString.call(obj).ceil(8,-1))

8.JS的注释写法有哪几种,有何区别?

第一种:"//" 单行注释 可相互嵌套;第二种:/ ** / 多行注释 不可嵌套

9.javascript引入页面有几种形式

三种:
 * 1、通过script标签来书写js代码
 * 2、通过行内书写js脚本
 * 3、通过script的src属性引入外部js脚本

10.var 的意义何在

变量声明提前

11.JS 加载属性

当页面加载完成后才执行js脚本:
        1、window.onload:
        
        2、defer:延迟 => 当引入多个外部脚本的时候,会按照引入的顺序来执行js脚本的,但是在实际操作中不一定按顺序执行,因为每个浏览器不同。
        
        3、async:异步 => 当引入多个外部脚本的时候,不一定按照引入的顺序来执行js脚本。
        
        defer 和 async 只对外部脚本有效***
<!--如果浏览器支持脚本,那么它不会显示出 noscript 元素中的文本。-->
        <noscript>
            <p>兄弟,你out了!感觉下载谷歌浏览器让你更舒畅!</p>
        </noscript>

笔试

1.已知数A与B,由键盘输入AB的值,交换它们的值,并输出。

      <script>
var A = prompt("请输入A的值","");
var B = prompt("请输入B的值","");
var tmp = A;
            
A = B;
B = tmp;
console.log("A:"+A+",B:"+B);
    </script>
···

相关文章

  • JavaScript 初学介绍

    面试 1.JS是什么? other 2.JS的数据类型有哪几种,哪些是简单类型变量,哪些是复杂类型变量,它们有什么...

  • 如何轻松学习JavaScript?

    JavaScript给初学者的印象总是那么的“杂而乱”,相信很多初学者都在找轻松学习JavaScript的途径。 ...

  • 初学 JavaScript

    Js里面具有对象的概念,但是没有类的概念。原型对象。面向对象:oopclass 人类 {}张三= new 人类(...

  • 初学JavaScript

    1.web发展史 mosaic(马赛克):是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,93年问世。 ...

  • JavaScript学习

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

  • javascript的面向对象

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

  • 关于前端

    JavaScript生态圈现状:初学者地图

  • 【JavaScript】学习笔记-内置对象与常用方法

    (这篇笔记是在2015年初学时记的,可能有错误) JavaScript内置对象简介 本文介绍Js中13种标准内置对...

  • 「JS」JavaScript 介绍

    JavaScript 介绍 JavaScript的引入方法 JavaScript 介绍 前端开发三要素,HTML(...

  • 初学JavaScript(一)

    暑假已经开始了,本人准备用这一整个暑假来学习JavaScript和jQuery,首先我学的是JavaScript,...

网友评论

      本文标题:JavaScript 初学介绍

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