Js的组成部分
EMAScript:JavaScript语法
DOM:页面文档对象模型,通过dom提供的接口可以对页面的各种元素进行操作(大小、位置、颜色等)
BOM:浏览器对象模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,通过bom可以操作浏览器窗口,比如弹窗、控制浏览器跳转、获取分辨率等。
js的引用方式 行内式js 1 <input type ="button" value ="点我试试" onclick ="alert('hell word')" />
可以将单行或少量js代码写在html标签事件属性中(以 on开头的属性),如:onclick
注意单双引号的使用:在html中推荐用双引号,js中推荐用单引号。
可读性差,在html中编写大量js代码时,不方便阅读。
引号容易出错,引号多层嵌套时容易混乱。
特殊情况下使用。
内嵌式js 1 2 3 <script > alert ('hello' ) </script >
外部js文件 1 <script src ="test.js" > </script >
有利于html页面代码结构化,把大段js独立到html页面外,美观也方便文件级别的复用。
引用外部js文件的script标签中间不可以写代码。
适合js代码量比较大的情况。
js输入输出内容 1 2 3 4 5 6 7 8 <script > prompt ('输入你的年龄:' ); alert ('计算的结果是:' ); console .log ('这是控制台日志' ); </script >
js的变量 变量命名规范
由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号($)组成,如:userName,num01
严格区分大小写。varapp;和varApp;是两个变量。
不能以数字开头。18age是错误的。
不能是关键字、保留字。例如:var、for、while
变量名必须有意义。MMD BBD nl –> age
遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。
变量的使用 先声明再赋值
1 2 3 4 5 6 7 <script > var age; age = 10 ; console .log ('年龄:' + age); </script >
声明变量并初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <script > var age = 18 ; console .log ('年龄:' + age); var name1 = 'zhangsan' , name2 = 'lisi' , name3 = 'wangwu' ; console .log (name1,name2,name3) var sex; console .log (sex); console .log (test); </script >
小案例 1 2 3 4 5 <script > age = prompt ('输入你的年龄:' ); alert ('你的年龄为:' +age) </script >
js数据类型 js数据类型可以分为两类:
简单数据类型(Number,String,Boolean,Undefined,null)
复杂数据类型(object)
JavaScript是一种弱类型或者说动态语言,这意味着不用提前声明变量的类型,在程序运行中,变量的数据类型是由js引擎根据 = 右边变量值的数据类型来判断的,运行完毕之后变量就确定了数据类型。
1 2 3 var num = 10 var str = 'zhangsan' var bo = true
数字型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <script > var num = 10 ; var pi = 3.1415 ; var num1 = 010 ; var num2 = 012 ; var num3 = 0x9 ; console .log (num) console .log (pi) console .log (num1) console .log (num2) console .log (num3) </script >
判断是否非数字
1 2 3 4 5 <script > console .log (isNaN ('1sd' )); console .log (isNaN (1 )); </script >
字符串型 字符串嵌套
1 2 3 4 5 6 7 8 <script > var str1 = "我是一个'很菜'的程序员" var str2 = '我是一个"很菜"的程序员' console .log (str1); console .log (str2); </script >
字符串转义符
常见的转义符有\n
换行符,\\
斜杠\,\'
单引号’,\"
双引号,\t
tab缩进,\b
空格
1 2 3 4 5 <script > var str1 = "我是一个'很菜'的\n程序员" console .log (str1); </script >
获取字符串长度
1 2 3 4 5 <script > var str1 = "My name is xiaopu" console .log (str1.length ); </script >
字符串拼接
1 2 3 4 5 6 7 8 <script > var Name = 'xiaopu' console .log ('姓名:' +Name ); console .log ('年龄:' +18 ); console .log ('地区:' +'上海' ); </script >
undefined型 如果一个变量声明了未赋值,那么就是一个undefined
未定义的数据类型(如果进行相连或相加时,注意结果)
1 2 3 4 5 6 7 8 <script > var str; console .log (str); console .log ('你好' +str); console .log (11 +str); console .log (true +str); </script >
获取数据类型 1 2 3 4 5 6 7 8 9 10 11 <script > var str = 'xiaopu' ; var num = 18 ; var flag = true ; var vari = undefined ; console .log (typeof (str)); console .log (typeof (num)); console .log (typeof (flag)); console .log (typeof (vari)); </script >
数据类型转换 转换为字符串型
1 2 3 4 5 6 7 8 9 10 11 <script > var num = 18 ; console .log (num.toString ()); console .log (String (num)); console .log (num+'' ); </script >
转换为数字型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script > var age = '18' ; console .log (parseInt (age)); console .log (parseFloat ('18.12' )); console .log (Number ('12' )); console .log ('2' - 2 ); </script >