JavaScript基础语法及常用函数
JavaScript使用方法
JavaSpript使用< script >标签来嵌入JavaScript语言
Html中三种使用JavaScript的方法
1、内部JavaScript使用< script > < /script >标签
属性
- charset:字符集设置
- defer:可选执行顺序,值:defer
- src:使用外部的js脚本文件
- type:必选的属性:值:text/javascript
2、外部JavaScript使用
< script type = “text/javascript” src = “my.js”>< /scripr >
3、内联JavaScript处理器
- 就是将JavaScript代码写在HTML文件中,如在HTML标签中或超链接中
- < button onclick = “JavaScript语言”>< button >
- < a href = “javascript:ak=lert(‘aa’);alert(‘bb’)”>点击< /a >
JavaScript基础语法
JavaScript的输出
- JavaScript中没有任何直接打印或者输出的函数
- 若有显示数据可以通过下面不同的方式来输出:
- window.alert()弹出警告框
- document.write()方法将内容写道HTML文件中
- innerHLML写入到HTML元素
- console.log()写入到浏览器控制台
- 参考示例:
变量
使用var声明变量
var name;
变量的赋值
var name; name = “zhangsan”;
同时声明多个变量
var name,age,sex;
name = “list”;
age = 20; sex = “man”;
同时声明多个变量并复制
var name = “wangwu”,age= “25”;
JavaScript中的数据类型
- 值类型(基本类型):
字符串(string)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol
注意:Symbol是ES6引入了一种新的原始数据类型,表示独一无二的值- 引用数据类型: 对象(Object)数组(Array)函数(Function)
typeof操作符获取一个变量的类型,返回结果如下:
- undefined
- boolean
- number
- string
- object
- function
undefined和null的区别:
- null和undefined的值相等,但是类型不同
- object引用类型 引用类型通常叫做类(class),也就是说,遇到值引用,所处理的就是对象。Object对象自身用处不大,不过了解其他类之前,还是应该了解它。因为ECMAScript中的object对象与Java中的Java.lang.Object相似,ECMAScript中的所有对象都由这个对象继承而来,Object中所有的属性和方法都会出现在其他对象中,所以理解object对象,就可以更好的理解其他对象。
- 值类型的理解:变量之间的相互赋值,就是开辟一块新的空间,将变量值赋给新的变量保存到新开辟的内存里面;之后两个变量变动不相互影响,例如:
- 引用类型的理解:变量之间的相互赋值,只是指针之间的交换,而并非将对象(普通对象,函数对象,数组对象)复制一份给新的变量,对象依然还是只有一个,只是多了一个指引:
类型转换:
两种转换的形式:
- 通过使用JavaScript函数
- 通过JavaScript自身的自动转换
参考示例:
JavaScript中的运算符:
按照操作元数的个数不同分为:一元运算符、二元运算符、和三元运算符
- 如一元运算符
- delete:用于删除对象中的属性 如:delete o.name;//删除o对象中的name属性
- ++ - -:一元加法和减法
赋值运算符
比较运算符
逻辑运算符
条件运算符:
JavaScript也包含了可基于某些条件向变量赋值的条件运算符
类型运算符:
- instanceof运算符与typeof运算符相似,用于识别正在处理的对象类型。
- 与typedef方法不同的是,instanceof方法要求开发者明确的确认对象为某特定类型。
运算符的优先级
JavaScript中的流程控制
这一部分呢和以前的语言非常的像
同样分成了单分支、双分支、和多分枝结构还有循环结构其中循环结构中又分为了for循环和while和do while循环
其中有一点不一样的就是
for…in循环遍历对象
语法:for(属性变量 in 被遍历的数组){
被执行的代码块
}
参考示例:
这里可以看出for…in遍历的是对象
过程可以这样去理解:拿到对象的每一个属性值,然后赋值给key。这里可以通过"对象名[属性名]"的方法来得到属性的值就像是代码中的ob[key]。
JavaScript中的函数
函数定义的标准格式:
JavaScript三种定义函数的方法:
- 第一种是使用function语句定义函数
- 第二种是使用Function()构造函数来定义函数(并不常用)## 标题
var 函数名 = new Function(“参数一”,“参数2”,“参数三”…函数体);
例如:var 函数名 = new Function(”x“,”y“,“var z = x+y; return z;”); - 第三种是在表达式中定义函数
var 函数名= function(参数一,参数二,…){
函数体
}
函数的使用:
arguments对象
- 在函数代码中,使用特殊对象arguments,开发者无需明确指出参数名,就能访问他们,
- argument是一个对象,是一个伪数组,argument[索引]---->实参的值
- 也可以访问这个值,既第一个参数的值(第一个参数位于0)
- argument.length:是实参的个数
关于变量的作用域
- 全局变量:在函数外使用var声明的变量就是全局变量,全局变量可以在页面的任何位置使用
- 如果不关闭页面,那么就不会释放,就会占空间,消耗内存
- 局部变量:在函数内使用Var声明的变量是局部变量,既出了函数外边无法获取
- 隐式全局变量:没有使用var声明的变量,就叫做隐式全局变量,在函数外可以获取到
- 全局变量是不能够被删除的,隐式全局变量是可以被删除的(使用delete)
- 定义变量使用var是不会被删除的,没有var是可以删除的
- 函数外面定义的变量是全局变量,函数内可以使用。
- 在函数内没有使用var定义的变量为隐式全局变量
- **特别注意:**在函数中是可以修改全局变量的值的
函数的返回值:
- 如果一个函数中有retuen,那么这个函数就有返回值
- 如果一个函数中没有明确的返回值,那么调用的时候接受了,结果就是undefined
- (函数没有明确的返回值:就是函数中有return但是return后面没有任何内容)
- 函数内容执行遇到return,立即执行返回,且下面的代码是不会被执行的