javascript语法基础
概述
- 浏览器上的脚本语言:不需要编译,浏览器直接解释执行,目标程序(可以执行的程序)可以以普通文本的形式保存
- 事件驱动的脚本语言
- 遵循ECMA-Script规范
html与javascript
-
在html中嵌入javascript的3种方式
-
代码块
-
行内代码
-
外部js文件引入
-
javascript基础知识
-
事件和事件句柄的区别
例如:click与onclick的区别
-
体会html文档树的概念
-
js脚本块
- 会按照自上而下的循序逐行执行(注意:定义的函数不会执行)
- 脚本块的位置随意
- 注释方式2种
-
标识符
- 命名规范
- 命名规则:数字字母下划线美元符号,不能以数字开始,不能和关键字冲突,区分大小写,理论没有长度限制
- 命名规范和命名规则的区别
-
变量
-
javascript是一种弱类型语言:变量声名的时候,类型没有限制死
- var xxx = xxx
- 没有手动赋值的时候系统默认赋值undefined
- 变量压根没有声明:报错
-
java是一种强类型语言:变量声明的时候,类型已经限制死了
-
byte short int long float double boolean char
1 2 4 8 4 8 1 2
-
-
javascript中的函数
-
格式
//方式1 function 函数名(形式参数列表){ 函数体 } //方式2 函数名 = function (形式参数列表){ 函数体 } //不调用不执行
-
js函数的重载
function sum(a, b){ alert(a + b) } //相当于写了3个函数
-
函数名不能相同
- 重名的话,后定义的会将前面定义的函数覆盖掉
- 区分函数只靠函数名
-
变量范围
- 全局变量:函数体外声明
- 浏览器打开时声明,浏览器关闭时销毁
- 不写var 声明的是全局变量
- 局部变量
- 在函数体内声明(包括函数的形参)
- 访问原则:就近访问
- 全局变量:函数体外声明
javascript数据类型
-
变量没有数据类型,但是值有数据类型
-
js中的数据类型
-
ES6规范之前有6种,ES6之后有7种(多了一个symbol类型)
-
原始类型
- Undefined
- 只有一个值:undefined
- Number
- 普通值
- NaN(本来应该是数,结果却不是数)
- 无穷大Infinity
- 常用函数
- isNaN()
- parseInt()
- parseFloat()
- Math.ceil()
- String
- 创建字符串对象
- var s = “abc”
- var s2 = new String(“abc”)
- String内置类继承自Object
- typeof s 和 typeof s2的区别
- 小string
- 大String
- 两种string的属性和函数都是通用的
- 常用函数
- indexof
- 获取指定字符串在当前字符串第一次出现处的位置
- 未出现过:-1
- replace:只替换第一个
- substr:startindex,length
- substring:startindex, endindex,且不包含右边界
- indexof
- 创建字符串对象
- Boolean
- 永远只有两个值:true or false
- Boolean():不是boolean类型的值转换成boolean类型的函数
- 有 -> true
- 无 -> false
- if后面会自动转换成boolean类型
- Null
- 只有一个值null,属于”object”
- Undefined
-
引用类型
-
Object以及其子类
-
创建类的方法
//方式1 function 类名(形参){ } //方式2 类名 = function(形参){ } //看如何使用,是否使用new,看是当作方法使用,还是当作类来使用 //js中类的定义实际上已经包含了java中定义一个类的全部信息(类名与构造方法名称相同 + 弱类型)
-
创建对象的方法
- new 类名(参数列表)
- 访问属性
- 对象.xxx
- 键值对的形式 对象[“xxx”]
-
类中属性,实例方法,类方法的声明(注意如何让类方法真正生效)
-
prototype属性:动态的获取属性和方法
-
-
-
-
typeof的结果为以下6个字符串,字符串全部小写,用于动态获取数据类型
- “undefined”
- “number”
- “string”
- “boolean”
- “object”
- “function”
注意:
- null属于Nulll类型,但是null的typeof结果为”object”
-
null,NaN,undefined区别
- 它们typeof的区别
- 它们 == 的结果
- 它们 === 的区别
- == 和 === 的区别
- == :值的效果是否等同
- === :值和类型
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/275656.html