JS三种书写方式
<!--行内式-->
<input type="button" value="点我" onclick="alert('hello word!')">
<!-- 内嵌式 -->
<script>
alert('hello word!');
</script>
<!-- 外部JS -->
<script src="../js/my.js"></script>
<!--js使用单引号-->
//这是单行注释
/*
这是多行注释
*/
基础语法
输入输出语句
// 浏览器弹出警示框
alert('');
//浏览器控制台打印输出信息
console.log(msg);
//浏览器弹出输入框,用户可输入
prompt(info);
变量
//变量声明
var age;
//变量初始化
var name = '李明';
//赋值
age = 18;
//输出结果
console.log(age);
//变量数据类型根据复制动态确定
var num = 10;//数字型
num = 'red';//字符型
关键字
//字符串长度
var str = 'my name is h';
var number = str.length;
//字符串拼接
var str1 = 'hello',num = 10;
var str2 = str1 + str2;
//数据类型检测,变量为空(object对象)
console.log(typeof num)
//类型转换
//转换为字符型
num.toString();
String(num);
alert(num+'字符串');
//转化为数字
parseInt(string);
parseFloat(string);
Number(string);
//算数运算隐式转换(-|*|/):'12'-0
//转换为布尔型
Boolean(num);
数组
var arr = new Array();
var arr = [];
函数
function Fn(){
console.log(arguments);//arguments里存储了所有传递过来的实参
}
Fn(1, 2, 3);
//js实参与形参个数可不相同,多的实参不取,多的形参定义:undefined
var fun = function(){
console.log('匿名函数');
}
预解析
//变量预解析,提升变量声明,不提升赋值
//函数预解析,提升函数整体,函数内也有变量预解析
对象
//字面量创建对象
var obj = {
uname: '张三',
age: 18,
sex: '男',
//匿名函数(方法)
sayHi: function(){
console.log('hi');
}
}
//new Object创建对象
var obj = new Object();
//属性、方法追加
obj.uname = '张三';
obj.age = 18;
obj.sayHi = function(){
console.log('hi');
}
//构造函数创建对象,
function 构造函数名(){//函数名首字母大写,属性、方法加this
this.属性 = 值;
this.方法 = function(){}
}
//调用
obj.uname;
obj['age'];
obj.sayHi();
//构造函数调用
var obj = new 构造函数名();
对象遍历
for(变量 in 对象){
console.log(obj[k]);
}