@
JavaScript(简称"JS")是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
1)是一种解释性脚本语言(代码不进行预编译);
2)主要用来向 HTML(标准通用标记语言下的一个应用);
3)可以直接嵌入 HTML 页面,但写成单独的js文件有利于结构和行为的分离;
1)直接编写在HTML的 script 标签中(推荐写在 head 标签里面);
2)编写在JS文件中,单独写一个文件(*.js)来存放JavaScript代码,需要时直接引入该js文件,方便代码的维护和重用性;
注意:script 标签不能同时引入 js 文件和编写其他 js 代码
注意:HTML中js的所有代码等候室顺序执行,出错则不再往下执行。
JavaScript 中的标识符(不能以数字开头,不能是 js中 保留字或关键字)
1)合法标识符举例:indentifier、username、user_name、_userName、$username;
1)非法标识符举例:int、8.3、Hello World;
JavaScript 严格区分大小写
1)username 和 userName 是完全不同的符号;
JavaScript 程序的注释
1)/.../ 中可以嵌套 "/" 注释,但不能嵌套;
2)/**..文档注释.*/;
JS中的重要关键字和保留字
1)typeof、var、delete、function
作用
1)程序可以通过变量名来指定具体的对象内存,并通过变量名来获取对应的对象;
声明:JS是弱类型语言,为严格区分数据类型
1)使用 var,例如 var username = "熊大";
2)若变量没哟UC胡世华,默认是 undefined;
3)变量的类型也可以由值来决定,只是什么类型,则变量为什么类型,例:username=18;username为int类型;
注意:事先不声明变量而直接使用会报错;
1)alert(变量名);直接在浏览器中弹出对话框(需要点击确定,麻烦,不利于语法实践操作和测试);
2)console.log(变量名);(info、log、debug、warn、error):在浏览器控制台打印内容;
1)简单类型:String(‘‘/"")、Number(100/11.2/4E3/3e2)、Boolean(true/false)、Null、undefined
2)对象类型:Object、Array、Function
注意1:js 中只有 "var 变量名=值",不存在 "变量类型 变量名=值";
注意2:变量名不能使用 name,name 是自带的一个成员变量,类型无法修改,所以结果一直未 String;
function 函数名([参数名称1,参数名称2,...,参数名称N]) {
// 程序代码
return 值;
}
var 变量名 = function ([参数名称1,参数名称2,...,参数名称N]) {
// 程序代码
return 值;
}
<script>
// 无参单行函数体的箭头函数
var a = ()=> console.log("箭头函数");
a();
// 上面等价于下面
function f() {
console.log("箭头函数");
}
// 无参多行函数体的箭头函数
var b = ()=> {
console.log("箭头函数一");
console.log("箭头函数二");
};
b();
// 多个参数多行箭头函数
var c = (username, password)=> {
console.log(username);
console.log(password);
};
c("小肥羊", "admin");
// 一个形参的箭头函数
var d = user => console.log(user);
</script>
var 变量 = 函数名(实参1, 实参2, 实参3, ...);
// 把匿名函数赋值给一个变量
var add = function (x, y) {
return x+y;
};
// 把add变量当做参数使用
function printAdd(f) {
console.log(f);
}
// 调用 printAdd() 函数
printAdd(3, 5); // 输出结果为 8
add(); // add 函数被调用,但是参数都为
undefined add(1,3,5,6); // 只会只有前两个,后面的自动忽略
2)查看函数被调用时带了哪些参数:arguments
function doWork3(){
console.log(arguments); // 每个函数都内置了一个arguments属 性,用于存放调用时带入的实际参数值
}
doWork3(1,2,3);
doWork3();
doWork3("小狼","小码",18);
//如何使用JS来定义一个类(构造函数)
function Person(name, age){
//添加属性
this.name = name;
this.age = age;
//添加方法
this.sleep = function(){
console.log("困了,睡一觉");
}
}
// 1、使用构造函数来创建对象
var p = new Person("小狼", 10);
console.log(p);
// 访问对象中的成员
console.log(p.name);
console.log(p.age);
// 访问对象中的方法
p.sleep();
// JS中,可以单独为某一个对象添加成员
p.xxx = "ooo";
console.log(p);
var obj = {user_name:"小狼",age:"18"};
console.log(obj.username);
console.log(obj.age);
注意:属性名如果有特殊字符需要加引号括起来。
1)Date() 返回当前日期和事件
2)getFullYear() 获取Date对象中四位数字的年份
3)getMonth() 获取Date对象中的月份(0~11)
4)getDate() 获取Date对象中的天(1~31)
5)getHours() 获取Date对象中的小时
6)getMinutes() 获取Date对象中的分钟
7)getSeconds() 获取Date对象中的秒
var d = new Date();
var time = d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
* 属性:
length 字符个数
* 方法
1)charAt(index) 返回指定位置的字符
2)concat(string1,string2,string3,....) 拼接字符串
3)fromCharCode(num) 可接受一个指定的 Unicode 值,然后返回一个字符串
4)subString(start,stop) 提取字符串中两个指定的索引号之间的字符。
创建数组对象
1)var arr = new Array();
类似数组中的静态初始化
1)var arr2 = new Array("西施","王昭君","貂蝉","杨贵妃");
2)var arr2 = new Array(1, 2, 3, 4);
类似数组的动态初始化
1)var arr3 = new Array(4); //这里的4是数组的长度,而不是元素
简写
1)var arr4 = ["西施", "王昭君", "貂蝉", "杨贵妃"];
注意:对于 js 中的数组不会出现数组越界的异常,也不是定长的。
arr = [1, 2, 3, "a"];
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
arr = [1, 2, 3, "a"];
arr.forEach(function (item, index, array) {
console.log(item);
console.log(index);
console.log(array);
});
var arr = ["A","B","C","D"];
var newArr = arr.map(function(item,index,array){
return item+index;
});
//newArr中的数据:["A1","B2","C3","D4"]
//如果是遍历数组,i对应的是数组的索引
let arr = ["A", "B", "C", "D"];
for (let i in arr) {
console.log(i); //索引
console.log(arr[i]); //元素
}
//如果是遍历对象,name对应的是属性名
let obj = new Object();
// 给 obj 对象增加属性
obj.username = "小狼";
obj.age = 18;
for (let index in obj) {
console.log(index);
//属性名
console.log(obj[index]);
}
arr = [1, 2, 3, "a"];
for (let item of arr) {
console.log(item);
}
以上就是对 JavaScript 入门的总结了,代码仅供参考,欢迎讨论交流。
原文:https://www.cnblogs.com/zzvar/p/14687389.html