任务3-1(JavaScript基础)
web前端开发JavaScript基础
- 1.VScode配置:
- 2.JavaScript语法:
- 2.1 注释和console
- 2.2 三个容器关键字
- 2.3 数据类型
- 2.4 类型转换
- 2.5 数值运算和Math对象
- 2.6 字符串方法
- 2.7 模板字符串
- 2.8 数组方法
- 2.9 对象
- 2.10 日期
- 2.11 分支语句
- 2.12 Switch分支
- 2.13 循环
- 2.14 函数
- 2.15 window对象
- 2.16 变量作用域
1.VScode配置:
需要安装的插件:Live Server, Bracket Pair Colorizer,JavaScript (ES6) code snippet
2.JavaScript语法:
2.1 注释和console
2.2 三个容器关键字
1. var 2. const 常量关键字,不能修改常量的值(但是可以改变对象中的属性),定义常量一定要赋值
2.3 数据类型
1. 基本数据类型string(字符串),Number(数值),Boolean(布尔) Null(空) Undefined(未定义) Symbol(符号)
2. 引用数据类型Object(对象)数组 []
2.4 类型转换
let val;
//数组转化为字符串
val=String([1,2,3,4]);
//toString:转化为字符串
val = [55].toString();//别的类型转换为数值
val = Number(false);
//NaN
val = Number('hello');
//另外一种形式
val = parseInt("100.30");
val = parseFloat('100.30');//输出
console.log(val);
consolr.log(typeof val);//console.log(val.toFixed(2))
2.5 数值运算和Math对象
const numl=180;
const num2=50;
let val;
//数值运算
//val=numl+num2;
//val=numl-num2;
//val=numl*num2;
//val=numl/num2;
//val=numl%num2;//Math object
//val=Math.PI;
//val=Math.round(2.6);//四舍五入
//val=Math.ceil(2.4);//向上取整
//val=Math.floor(2.8);//向下取整
//val=Math.sqrt(64);//平方
//val = Math.abs(-3);//取绝对值
//val=Math.min(2,33,4,1,55,6,3,-2);//最小值//val=Math.max(2,33,4,1,55,6,3,-2);//最大值
2.6 字符串方法
const firstName='William';
const lastName=‘Johnson';
const age=32;
//拼接
let val;
val=firstName+lastName;
//空格拼接
val=firstName +''+lastName;
//转义
//val = 'this\'s ugly, i can\'t wait';
val="That's awesome,i can't wait";
//length
val=firstName.length;
console.log(val);
// concat 拼接
val=firstName.concat('',lastName);
//大小写转换
val=firstName.toUpperCase();
val=firstName.tolowerCase();
//字符串下标
val=firstName[2];
//indexof
val=firstName.indexof('l');
val=firstName.lastIndexof('l');
//charAt
val=firstName.charAt(2);
//获取最后一个字符
val=firstName.charAt(firstName.length-1);
//获取子字符串
val=firstName.substring(0,4);
//slice
val=firstName.slice(0,4);
val= firstName.slice(-3);
//转数组
const str ="my name is lina";
val =str.split(' ');
2.7 模板字符串
const name='John';
const age=31;
const job='web Developer';
const city='Beijing';
let html;
//没有模板字符串(es5)
html=
'<ul><1i>Name:'+
name+
'</lis<lisAge:'+
age+
'<1i>Job:'+
job+
'</li>City'+
city+
'</ul>';
document.body.innerHTML=html;function hello{return 'hello world'
}
//模板字符串展示(ES6)
html=`
<ul>
<1i>Name:${name}</li>
<li>age:${age}</li>
<1i>job:${job}</li>
<li>city:${city}</li>
<lisName:${2+2}</1i>
<1isName:${hello}</li>
<li>${age>30?0ver 30':"Under 30}</1i>
</ul>
`
2.8 数组方法
//数组方法
const numbers =[43,45,56,33,44,1,71;
const numbers2=new Array[22,40,32,76,99];
const fruit=['Apple',‘Banana','Orange','Pear'];
const mixed=122,'Hello',true,undefined,null,
let val;
//获取长度
val=numbers.length;
//检查是不是数组
val=Array.isArray(numbers);
//获取数组单个元素
val=numbers[3];
//更改案个元素值
numbers[2]=108;
//查找元素下标位置
val=numbers.indexof(4);
//添加和删除
numbers.push(250);
//从前面加
numbers.unshift(120);
//从后面删除
numbers.pop();
//从前面删除
numbers.shift();
//删掉多个
numbers.splice(1,3);
//反转
numbers.reverse();
//数组拼接
val=numbers.concat(numbers2);
//排序
val=fruit.sort();
val=numbers.sort();
//正常排序数值
val=numbers.sort(function(x,y){return x-y;
});
2.9 对象
const person={firstName:‘米斯特吴’,lastName:‘Wu',age:32,email:'277323570qq.com',hobbies:['music','sports'],address:{city:'Chengdu',state:'chenghuaqu'},getBirthYear:function(){return 1987;}
};
let val;
val=person;
//获取到单个属性
val=person.firstName;
val=person['lastName'];
val=person.age;
val=person.hobbies[1];
val=person.email;
val=person.address.city;
val=person.getBirthYear;//数组对象嵌套
const people=[{name:‘Bucky',age:30},{name:‘Henry',age:32},{name:'Elyse',age:38}
]
for (let i=0;i< people.length;i++){const.log(people[i].name);
}
2.10 日期
let val;
const today =new Date();
let birthday =new Date('9-10-1988 11:28:00');
birthday=new Date(' September 18 1988');
birthday=new Date('9/10/1988');
val=birthday;
val=today. getMonth();
val=today. getDate();
val=today. getDay();
val=today. getFullYear(;
val=today, getHours();
val=today. getMinutes();
val= today. getSeconds();
vat=today. getMilliseconds(;
val=today. getTime();
birthday. setMonth(2);
birthday. setDate (12);
birthday. setFullYear (1987);
birthday. setHours(3);
birthday. setMinutes(20;
birthday. setSeconds(25);
2.11 分支语句
//if switch
//if分支语句
//if(“条件”){}
//条件关系运算符逻辑运算最终结果为boolean
//关系运算符:><==>=<=|====l==
//逻辑运算符:&&(AND)||{0R) !(取反)
let id = 100;
//if(id ==180){//console.1og(‘条件为真:id的值就是100);
//else{//console.1og(‘条件为假:id的值不是100);
//}
//console.1og(‘分支外的语句‘);
//TEST 分支条件是否为undefined
if (typeof id == 'undefined'){console.log('没有设置id');
}else{console.log('id为:${id}');
}//逻辑运算符
const name=‘Steve';
const age=14;
//逻辑与&&AND
if(age>0 && age<12){console.log('${name}is a child);
}
//逐辅或一真既真
if(age<16 ll age>65){console.log('s{name}要么是孩子要么是老人);
}else{console.log('${name)是个成人”);
}
//逻辑非!
if(!true){console.log('Correct');
}
//三目运算符
console.log(id == 100?'Correct':'Incorrect');
2.12 Switch分支
//switch
const color=' orange';
switch (color)case' red':console.log(' Color is red');break;case 'blue':console.log(' Color is blue');break;case 'yellow':console.log(' Color is yellow');break;default:console.log('tolor is not at all');break;
2.13 循环
for(let num = 1;num<10;num++){console.log(num);//1,2,3,4,5,6,7,8,9
}var num = 1;//1、声明循环变量
while (num<10){//2、判断循环条件;console.log(num);//3、执行循环体操作;num++;//4、更新循环变量;
}var num = 10;
do{console.log(num);//10 9 8 7 6 5 4 3 2 1 0num--;}while(num>=0); console.log(num);//-1
2.14 函数
JavaScript 函数语法
JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。
函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。
圆括号可包括由逗号分隔的参数:
(参数 1, 参数 2, ...)
由函数执行的代码被放置在花括号中:{}
function name(参数 1, 参数 2, 参数 3) {要执行的代码
}
//有参致无返回值
firstName='米斯特吴';
function greet(firstName ='形参'){console.log('Hello'+firstName);
}
//有参数有返回值
function greet(firstName='形参'){return‘Hello'+firstName;
}
//.函数调用
greet('实参');
//函数表达式
const square=function(x){return x*x;
}
console.log(square(10))//自执行函数
(function(){console.log("自执行函数");
})()//属性函数
const todo ={add:function(){console.log ('Add todo..');edit:function(id){console.log('Edit todo...'+id);}
};
todo.delete=function(){console.log("Delete todo...");
};
todo.add();
todo.edit(222);
todo.delete();
2.15 window对象
//WINDOW METHODS/0BJECTS/PROPERTIES
window.console.log("Hello");
//alert
window.alert("Helto");
//prompt
const input=prompt();
alert(input);
//confirm
if(confirm('Are you sure?')){console.log('YES');
}else{console.log('NO');
}//可视大小
val=window.innerHeight;
val=window.innerwidth;
//滚动大小
val=window.scrollY;
val=window.scrollx;
//location
val=window.location;
val=window.location.hostname;
val=window.location.port;
val=window.location.href;
val=window.location.search;
//Redirect
window.location.href="http://www.baidu.com";
//Reload
window.location.reload();//History
window.history.go(-3);
val=window.history.length;
//Navigator
val=window. navigator;
val=window. navigator. appName;
val=window. navigator. appVersion;
val=window. navigator. userAgent;
val=window. navigator. platform;
val=window. navigator. language;
2.16 变量作用域
局部作用域
JavaScript 局部作用域变量在函数内声明,变量为局部作用域。局部变量:只能在函数内部访问。因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
实例
// 此处不能调用 carName 变量 function myFunction() {var carName = "Volvo";// 函数内可调用 carName 变量 }
全局作用域
JavaScript 全局变量变量在函数外定义,即为全局变量。全局变量有全局作用域: 网页中所有脚本和函数均可使用。 实例
var carName = " Volvo"; // 此处可调用 carName 变量 function myFunction() {// 函数内可调用 carName 变量 }
在ES6之前,我们都是用var来声明变量,而且JS只有函数作用域和全局作用域,没有块级作用域,所以{}限定不了var声明变量的访问范围。
ES6新增的let,可以声明块级作用域的变量。
任务3-1(JavaScript基础)相关推荐
- JavaScript基础笔记集合(转)
JavaScript基础笔记集合 JavaScript基础笔记集合 js简介 js是脚本语言.浏览器是逐行的读取代码,而传统编程会在执行前进行编译 js存放的位置 html脚本必须放在< ...
- javascript基础语法——表达式
前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...
- Javascript基础与面向对象基础~第四讲 Javascript中的类对象
今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一 ...
- javascript基础系列(入门前须知)
-----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...
- JavaScript基础系列---闭包及其应用
闭包(closure)是JavaScript中一个"神秘"的概念,许多人都对它难以理解,我也一直处于似懂非懂的状态,前几天深入了解了一下执行环境以及作用域链,可戳查看详情,而闭包与 ...
- 夯实JavaScript基础之prototype, __proto__, instanceof
function New(f){return function(){var o = {'__proto__': f.prototype};f.apply(o, arguments);return o; ...
- JavaScript基础,Cookies,Sessions
php和JavaScript,掌握JavaScript基础,自定义函数,流程控制语句,事件,调用JavaScript脚本,在PHP中使用JavaScript. JavaScript是网景公司开发的,是 ...
- JavaScript基础一
1.1 javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) J ...
- Web前端-JavaScript基础教程上
Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...
- JavaScript基础---语言基础(1)
写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...
最新文章
- Crawling - Computing Ranking 很长时间, 怎么办?
- 数据库更新的时候不能正确的执行找错记录
- 中国大陆穷光蛋排行榜---转
- 深入理解strncpy这个函数
- HDU5730 FFT+CDQ分治
- VS2010 关于.wav音频文件播放
- linux设置默认的首页文件,Linux 设置Firefox主页
- 多年前的树莓派 B+ 重新工作
- 前端学习(2656):vue2中用v-model实现
- atxserver运行没有反应_连续生物工艺:灌流生物反应器
- 帝国CMS7.2 7.5微信登录插件
- android viewflipper 动画,Android ViewFlipper动画
- 语速对科大讯飞,百度,思必驰,云知声的语音引擎识别结果影响对比
- DLL劫持技术解析(DLL Hijack)
- 阿里云轻量应用服务器的租赁与使用
- vue2快速生成代码片段
- Discourse 论坛激活邮件问题
- 对搜狐 网易和TOM三大门户网站的SQL注入漏洞检测
- Chrome模拟微信、QQ内置浏览器
- Tailwind Typographic
热门文章
- Windows 系统画图软件如何切换输入文字的方向
- 测试吃鸡游戏帧数软件,帧数猛提!新旧版本《绝地求生》实测
- 驯服烂代码_驯服老虎,收藏框架
- 交通灯keil程序加2位数码管_带数码管显示的十字路口交通灯控制 C 程序
- J015基于AT89C51的十字路口交通灯紧急+夜间
- python找出只出现一次的字符_在一个字符串中找到第一个只出现一次的字符。
- [Shoi2011]双倍回文
- 优化函数和损失函数的区别与联系
- [经验技巧] 路由mini安装OpenWRT源的Transmission插件,实现PT下载(需SSH)
- 微信安卓最新 7.0.22 版本来了,赶紧抢先内测体验吧!美颜,连麦,刷礼物统统来了...