javascript基础知识点整理

作为后端程序员,由于现在很多开发都是前后端分离,对与js代码的接触现在并不是很多,但还是需要理解一些js的基础知识,现在将平常接触到的js基础知识整理下。

1.页面加载时自动执行js的几种方法。
1)js方法,写在html的body标签里面调用

 
    
     

2)js语句中调用

3)onload方法

 

2.js中的函数是可以嵌套使用的,比如

function a(){
    alert('test1');
    function b(){
        alert('test2');
    }
    function c(){
    alert('test3');
    }
    b();

    c();

}
a();

在函数a中又定义了两个函数b和c,这在java中是不允许嵌套定义的。

 

3.两种函数声明有什么区别?

var foo = function(){ 
    // Some code
}; 
function bar(){ 
    // Some code
}; 

我的理解,上面的函数可以看成时一个带返回值的函数,而下面则时一个不带返回值的函数

在实际执行的时候,实际会转换为下面的代码:

// foo bar的定义位置被提升
function bar(){ 
    // Some code
}; 
var foo;

console.log(foo)
console.log(bar)

foo = function(){ 
    // Some code
}; 

4.javascript中的对象

JavaScript有3大对象,分别是本地对象内置对象宿主对象

  • 本地对象

    • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象。
    • 简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。
    • 这些引用类型在运行过程中需要通过new来创建所需的实例对象。
    • 包含:ObjectArrayDateRegExpFunctionBooleanNumberString等。
  • 内置对象

    • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象。
    • 在 ECMAScript 程序开始执行前就存在,本身就是实例化内置对象,开发者无需再去实例化。
    • 内置对象是本地对象的子集。
    • 包含:GlobalMath
    • ECMAScript5中增添了JSON这个存在于全局的内置对象。
  • 宿主对象

    • 由 ECMAScript 实现的宿主环境提供的对象,包含两大类,一个是宿主提供,一个是自定义类对象。
    • 所有非本地对象都属于宿主对象。
    • 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如WindowDocument等。
    • 所有的DOMBOM对象都属于宿主对象。

本地对象也经常被叫做原生对象或内部对象,包含Global和Math在内的内置对象在《JavaScript高级程序设计》里也被叫做单体内置对象,很多时候,干脆也会直接把本地对象和内置对象统称为“内置对象”,也就是说除了宿主对象,剩下的都是ECMAScript的内部的“内置”对象。

 

5.javascript中的常见函数:

1).isNaN(X):函数用于检查其参数是否是非数字值。简单说,X为非数字类型的值时返回true,X为数字时返回false。

2)parseFloat函数将字符串转换成符点数字形式。 
3)parseInt函数:将符串转换成整数数字形式(可指定几进制)。 

4)ceil函数:返回一个数字的最小整数值(大于或等于)。 

5)floor函数:返回一个数字的最大整数值(小于或等于)。 

6)round函数:返回一个数字的四舍五入值,类型是整数。 

7)toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

 

6.什么是"JSON字符串",什么是"JSON对象",两者的区别?

a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样
b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert();

JSON对象:

var str2 = { "name": "deluyi", "sex": "man" };
JSON字符串:
var str1 = '{ "name": "deyuyi", "sex": "man" }';

参考:

https://segmentfault.com/a/1190000008785931

https://www.cnblogs.com/huiyuantang/p/5355690.html

https://www.cnblogs.com/cstao110/p/3762056.html

你可能感兴趣的:(javascript基础知识点整理)