JavaScript 基础

一、JavaScript简介

JavaScript一种轻量级的脚本语言,也是一种嵌入式(embedded) 语言,是一种对象模型语言,简称JS

JavaScript的核心语法部分(语言本身)很精简,只包括两个部分:

●1:基本的语法构造(比如操作符、控制结构、语句);
●2:标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。

想要实现其他复杂的操作和效果,都要依靠宿主环境提供API,目前,已经嵌入JavaScript的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境(操作系统)

JavaScript现在的意义(应用场景),JavaScript发展到现在几乎无所不能。

●1.网页特效
●2.服务端开发(Node.js)
●3.命令行工具(Node.js)
●4.桌面程序(Electron)
●5.App(Cordova)
●6.控制硬件-物联网(Ruff)
●7.游戏开发(cocos2d-js)

JavaScript:可以用来控制网页内容,给网页增加动态的效果

二、一段简单的JS代码

1.将JS代码写在HTML行内

<input type="button" value="按钮" onclick="alert(123)">

2.在 <script></script> 标签里写JS内容

<script>
    alert(345)
</script>

3.将js文件引入到html中执行

	<script src="js文件路径及文件名"></script>

三、声明变量和赋值

1.声明一个变量并赋值

var idol = '杨旭东男神';

数值,字符串和命名规则同java

2.打印结果

console.log(idol.length);

3.数据类型

NUmber、String、Boolean、Undefined、Null、Object

检验数据类型

var idol = '杨旭东男神';
console.log(typeof idol);

注意:

●既可以作为数学运算符使用,也可以作为字符串拼接使用
●从前往后进行运算,如果两个变量都是数值型,那么加号作为数学运算符
●直到遇到一个字符串,此后所有的加号都是字符串拼接

四、注释

同java

五、数值类型转换

1.其他类型转字符串

var n = 1;
var s = n.toString();
console.log(typeof s);
或者
console.log(String(n));
或者
var s = '' + n;

2.数值类型转换

var a = '1';
var b = Number(a);
如果是null转换为数值型则为0,其余为NaN

用parseFloat转换时,如果内容的前几个元素是数字则显示数字,其余舍弃。如果是其他的,则转换为NaN

3.布尔类型转换

var a = Boolean('0');
var b= Boolean(0);
var c = Boolean('1');
var d = Boolean(null);
var e = Boolean(undefined);
var f = Boolean('');
var g = Boolean(' ');
console.log(a,b,c,d,e,f,g);


结论:布尔类型转换时,只有当括号里有内容时,才会是true

六、操作符

1.算术运算符 + - * / %

var n1 = 5;
++n1;
var n2 =6;
console.log(n1 + n2++);
console.log(n1);
console.log(n2);

注意:

●如果操作符在变量前面,先进行自身运算,再进行其他运算
●如果操作符在变量后面,先进行其他运算,再进行自身运算

2.逻辑运算符

&& || ! 与 或 非

●在JS中,逻辑运算的结果是决定整个表达式的子表达式的值。
●注意有运算优先级,先运算&&,再运算||

3.比较运算符

全等于 ===

判断内容是否相等的同时还判断类型是否相等

不全等 !==

其余同java

4.赋值运算符与运算符的优先级

同java

七、流程控制

同java

八、JavaScript 数组

同java

注意:

●数组里面可以放数组,多维数组
●数组里面可以放任意类型的数据

九、JavaScript函数

1.函数的声明方式

●关键字声明
function function_name (argument) {
    // body...
}
●表达式声明
var f(函数名) = function() {
    // body...
}

注意:

●函数和数组的数据类型是对象
●当函数调用函数时,调用函数会被当作值传入函数内。叫做回调
●将函数作为值返回到外面。叫做闭包

2.形参和实参

//形参k
function s(k) {
    var n = 0;
    for (var i = 0;i <= k; i++) {
        n += i;
    }
    console.log(n)
}
//实参 100 ,1000
s(100);
s(1000);

3.自调用匿名函数

(function  () {
    alert(123);
})();

防止全局变量的污染,封装一个局部作用

4.作用域

与java类似

注意:

●如果函数与变量重名,那么函数声明会替换变量声明
●当函数中使用某个变量时,优先在自己的作用域中查找,如果找不到,就会向上一层作用域查找,直到全局作用域。

十、JavaScript 对象

1.对象的声明及使用

●自变量声明对象

var obj1 = {};
//对象中的数据都是键值成对存在的,只是函数则称为方法,其他类型的值都是属性
var obj2 = {name:'杨旭东',age:21,height:175,attr:function(){}};

●实例化方式 声明对象(内置构造函数)

var obj3 = new Object();

●自定义构造函数方式

function Fun(){
    //body...
}
//实例化自定义构造函数方式声明对象
var f = new Fun();

●对象的调用

var obj2 = {
    name:'杨旭东',
    age:21,
    height:175,
    abc:function(){
        console.log(3);
    }
//调用
console.log(obj2.name);
obj2.abc();

2.this 的用法

●第一种使用方式

var obj2 = {
    name:'杨旭东',
    age:21,
    height:175,
    abc:function(){
    //在方法中的 this 指的就是这个方法的所在的对象
        var s = this.height;
        console.log(s);
    }
    
    obj2.abc();

●this 指向全局对象

注意:

this 运行在哪个对象下,就指向哪个对象

3.对象的遍历及删除

for(键 in 对象) 也可以遍历数组

var obj4 = {
    name:'杨旭东',
    age:21,
    height:175,
}
//遍历
for (var k in obj4) {
    console.log(obj4[k]);
}

删除对象中的属性

delete obj4.age;

4.包装对象

三种原始类型:数值、字符串、布尔型

●原始类型的数据在一定条件下可以自动转为对象,这就是包装对象
●原始值可以自动当对象来调用,可以调用各种属性及方法
●如果包装对象使用完成,会自动立即销毁

5. JS 标准内置对象

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

原文地址:https://www.cnblogs.com/nnadd/p/12686291.html