javascript
简称js,由网景公司研发,是写在页面上的语言,叫做脚本语言
脚本语言:在浏览器上执行的语言,js是一个解释型的脚本语言。c,c++是先编译后执行,js是不需要编译的,浏览器可以直接解释运行,
直译:安全性较差,如果一条代码运行不了,他下面的所有代码都无法运行。
前端开发模式:
mvc模式
m(model) 模型层 html标签
v(view) 视图层 css样式
c(control) 控制层 js操作
注释:
<!-- html -->
/* css */
// js单行注释
/* js多行注释 */
注意:js区分大小写
html不区分
css区分大小写
书写:
行内:<a href="" οnclick="fun()"></a>
页内:<script> </script>
外链:<script src="js/aa.js"></script>
注意:
js代码可以放在页面当中的任意位置,但也要看代码的功能。
比如:操作页面a标签 代码应该放在a标签下面
比如:弹出一个弹窗(自带功能) 代码应该放在任意位置
变量:
从字面上来说就是变化量,从编程角度,变量是用来存储某个值的存储器。
我们可以把变量看成一个盒子,为了区分盒子,可以用box1,box2等名称来进行命名
box1,box2也就是变量的名称。
本质:变量是程序在内存中申请的一块用来存放数据的空间。
变量的使用:
1.声明变量
2.赋值
定义变量的关键字:var
写法:
var 变量名;
变量名=10;
var num1,num2;
简写:
var add = 12;
var add2 = "张三";
var 是弱类型声明变量。
注意事项:
变量名可以任意取,但要遵循命名规则:
1.变量必须是字母,下划线,数字或者美元符号($)开始
2.不能使用js关键字,或者js保留字。 click new math
3.驼峰命名法:首字母小写,后面的单词首字母大写。 helloWordNum backgroundColor
输出语句:
prompt("提示语",默认值) 输入框
console.log() 控制台调试
alert() 弹窗
document.write() 输出语句
document.writeln(num) 输出语句(带空格)
confirm() 询问框
更新变量:
var add = 10;
var add = 20;
结果:20
一个变量被重新赋值后它所有的值会被覆盖,变量将以最后一次赋值为准。
多个变量:
var myName = "张三",age = 18, add = 180; //可以的
var x,y,z = 10; //不可以
x undefined
y undefined
z 10
只声明,未赋值,返回undefined
未声明,未赋值,直接使用,报错
数据类型:
在计算机中,不同的数据类型占用的存储空间不同,为了充分利用存储空间,需要定义不同的数据类型
数字类型(Number),布尔类型(Boolean),字符串(String),对空(null),未定义(undefined)
1.数字类型
包含整数和浮点数 如:10 , 0.1
特殊值:
无穷大:Infinity
无穷小:-Infinity
非数值:NaN
数字类型的范围
Number.MAX_VALUE 最大值
Number.MIN_VALUE 最小值
isNaN() 判断非数值 是数字返回false,不是数字返回true
var num = '18'
console.log(isNaN(num))
2.布尔类型:
true 真 false 假
布尔类型参与运算:
true 当成1 false 当成0
console.log(true+1) //2
console.log(false+1) //1
3.字符串
如:"张三" 在js里字符串都带引号,单引号和双引号都可以
字符串长度:length
var add = 'hello'
console.log(add.length)
字符串拼接: +
var age = prompt("请输入年龄")
console.log("我今年"+age+"岁了")
console.log('我今年'+age+'岁了')
console.log('我今年'+age+'岁了,你呢?')
注意:
任何类型与字符串拼接都会变成字符串
4.对空(null)
var add = null;
console.log(add+1) //1
console.log(add+'你好') //null你好
5.未定义(undefined)
只声明,未赋值,返回 未定义(undefined)
var add = undefined;
console.log(add+1) //NaN
console.log(add+'你好') //undefined你好
console.log(add+null) //NaN
typeof 用来检测数据类型
var add = true;
console.log(typeof add)
6.操作符:
算数操作符:
+ - * / = == ===
+ 加号 连接字符
= 赋值
== 等于
=== 等于(要求数据类型必须一致)
18=='18' //成立
18==='18' //不成立
% 取余 5%3 2
自加一,自减一
++ --
前置:++add
先自身加一,在参与其他运算
后置:add++
先参与其他运算,再自身加一
var num = 10;
console.log(++num+10) //21
console,log(num+++10) //20
7.比较操作符:
> < >= <= !=
返回结果:true/false
var v1=123
alert(typeof(v1)) //number
var v2="123"
alert(typeof(v2)) //string
v1=10
console.log(v1)//10
v2=10.6
console.log(v2)//10.6
v3=3e5
console.log(v3)//科学计数法 300000
v4=0x35
console.log(v4)//53 0x--16进制 0-零
v5=0X35
console.log(v5)//53
v6=035
console.log(v6)//29 八进制
v7=20e500
console.log(v7)
v8=-20e500
console.log(v8)
var add;
add = 12;
var newAdd = 12;
var num = prompt("请输入你的年龄",20)
console.log(num) //打印F12控制台 作用:调试
alert(num)
document.write(123)
document.write(456)
document.writeln(123)
document.writeln(789)
var aa = confirm("你好吗")
console.log(aa)
var aa;
console.log(aa)
console.log(Number.MAX_VALUE)
console.log(Number.MIN_VALUE)
var num = "zahngsan"
console.log(isNaN(num))
console.log("20")
console.log(20)
console.log(true+1) //2
console.log(false+1) //1
// 我是一个'帅气'程序员
var add = '我是一个"帅气的"程序员'
console.log(add.length)
var add = 'hello'
var add2 = 'word'
console.log(add+add2)
console.log('hello'+add)
// 我今年12岁了,你呢?
var age = prompt("请输入年龄")
console.log("我今年"+age+"岁了")
console.log('我今年'+age+'岁了')
console.log('我今年'+age+'岁了,你呢?')
var add = null;
console.log(add+1)
console.log(add+'你好') //null你好
var add = undefined;
console.log(add+1) //NaN
console.log(add+'你好') //undefined你好
console.log(add+null) //NaN
var add = null;
console.log(typeof add)
console.log(18=='18')
console.log(18==='18')
console.log(10%3)
console.log(5>2)
console.log(5>=2)
console.log(5!=2)