var name = prompt('请输入你的姓名:'); //弹出输入框
var age = prompt('请输入你的年龄');
var sex = prompt('请输入你的性别');

  

检测字符串的长度用 变量名+length
字符串拼接 用+

转换为字符串类型

字符串转换为数字类型parseInt和parseFloat
parseInt('String')可以把字符型转换为数字型,得到是整数
parseFoat('变量') 注意大小写
其他类型转成布尔类型 Boolean()函数 代表空,否定的值会被转换为false

//计算年龄案列

        var chu = prompt('请输入你的出生年份');
var jinnian = 2020 - chu; //减法有隐式转换
alert('你今年已经' + jinnian + '岁了');
//加法器
定义弹出框,输入数值,保存在变量中
将数值进行相加
赋值给新的变量要注意数据类型转换
弹出警示框,输出结果即可 var num1 = prompt('请你输入第一个值');
var num2 = prompt('请你输入第二个值');
var sum = parseFloat(num1) + parseFloat(num2);
alert('结果' + sum);
递增运算符练习
//后置自增 先表达式返回原值,后变量再自加1
//前置自增 先自加 后运算 (前加后算) var a = 10;
var f = a++ + ++a; //1,a++等于10 a =11 2,a = 12 ++a等于12
console.log(f); //
//if语法结构

        var age = prompt('请输入你的年龄');
if (age >= 18) {
//执行语句
alert('恭喜你可以进入网吧');
} else {
prompt('你不可以进入网吧!请返回');
}
        //if语句案例演示
//闰年的案例
var yeas = prompt('请输入想要检测的年份');
if ( yeas %4 ==0 && year %100 != 0 ||year%400== ) {
alert('这是闰年');
} else {
alert('这是平年');
}
//判断是否中奖
var name = prompt('请输入姓名');
if (name = '刘德华') {
alert('恭喜你中了5块钱');
} else {
alert('很遗憾你没有中奖');
}
//多分支语句

        if ( 条件表达式 ) {
//语句1
} else if () {
//语句2
} else if () {
//语句3
} else {
//最后的语句
}

三元表达式
条件表达式 ? 表达式1 :表达式2;

switch语句 表达式的值和case后面的选项值相匹配,则执行case里面的语句,最后没有匹配上则执行default里面的语句
变量里的值和数据类型一致, 大多用于确定值的情况, 结构清晰

 switch (表达式) {
case value:
执行语句1;
break;
case value2:
执行语句2:
break;
default:
执行最后的语句
}
switch语句案例演示

        var fru = prompt('请输入你想要查询水果的名称');
switch (fru) {
case '苹果':
alert('苹果的价格5/斤');
break;
case '雪梨':
alert('雪梨的价格10/斤');
break;
default:
alert('不好意思,今日没有这种水果');
}
         //for循环
//重复某些相同代码 for (初始化变量; 条件表达式(终止条件); 操作表达式) {
//循环体
} var num = prompt('请输入班级的总人数');
var sum = 0;
var avg = 0;
for (var i = 1; i <= num; i++) {
var score = prompt('请输入第' + i + '个同学的成绩')
//因为从prompt取过来的数据是 字符串型的需要转换为数字型
sum = sum + parseFloat(score); }
avg = sum / num;
alert('班级成绩是' + sum);
alert('班级平均分是' + avg);
        //九九乘法表

        var str = '';
for (var i = 1; i <= 9; i++) {//外层循环控制行数
for (var j = 1; j <= i; j++) {//内层循环控制每一行的个数
//1*2=2
str += j + '*' + i + '=' + i * j + '\t';
}
str += '\n';
}
console.log(str);

断点调试 观察程序运行的过程
while和do while 执行顺序不一样 ,while 先判断后执行 ,do while 先执行一次再判断执行
while和do while 执行次数不一样 ,while可能一次都不执行,do while 至少执行一次循环体
continue 关键字 退出本次(当前)循环,继续执行剩余次数循环
break 关键字 跳出整个循环(循环结束)
求1-100之间,除了能被5整除之外的整数和

var sum = 0;
for (var i = 1; i < 15; i++) {
if (i % 5 == 0) {
continue;
}
sum += i;
}
console.log(sum);

标识符命名规范

变量和函数命名必须要有意义
变量一般用名词
函数一般用动词

操作符
左右两侧保留一个字符
单行注释注意签名有个空格

数组里得数据用逗号隔开

索引号从0开始
数组访问 数组名[索引]
遍历数组(类似早上点名)
数组长度 数组名.length 动态监测数组元素得个数
后面可以修改数组索引的方式追加数组元素,不要直接给数组名赋值,否则会覆盖原值

遍历数组案例
i是计数器,当索引号使用 || 如果相加的是数组元素arr[i]

var Hero = ['关羽', '张飞', '马超', '黄忠', '赵云'];
for (var i = 0; i < Hero.length; i++) {
console.log( Hero[i] );
}

将数组内大于等于10的元素选出来,放入新数组
声明新的数组存放数据newarr
遍历旧数组,找出大于等于10的元素
依次追加给新数组 newarr

 var arr = [2, 22, 33, 44, 55, 66];
var newArr = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= 10) {
//新数组索引号应该从0开始,依次递增
newArr[j] = arr[i];
j++;
}
}
console.log(newArr);

  

//冒泡排序

var arr = [5, 4, 3, 2, 1];
for (var i = 0; i <= arr.length - 1; i++) { //外层循环趟数 arr.length-1
for (var j = 0; j <= arr.length - i - 1; j++) { //里面的循环 每一趟的交换次数 arr.length -1 -i
//内部交换2个变量的值,前一个和后一个数组元素相比较
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
 //函数

        function add(形参1, 形参2) {//形参:形式上的参数,接受实参,默认值为undefined
没有return,返回undefined
}
函数名(实参1, 实参2);//实参:实际的参数
function getsum(num1, num2) {
return getsum;
}
getsum(1,2);//函数名() = return;

实际开发,经常用一个变量接受函数的返回结果
return 特点 :1终止函数,2后面的代码不会被执行,3只能返回最后一个值,4用数组返回多个值

arguments函数里面内置这个对象,里面存储了传递的所有实参,伪数组,1具有数组的length属性,2按照索引号的方式进行存储,3没有真正数组的一些方法

函数两种声明方式

1,利用关键字自定义函数

2,函数表达式(匿名函数) 跟声明变量差不多 变量名();调用 ,也可以传递参数

var 变量名 = function() {};

 var a = b = c = 9;

  

相当于 var a = 9; b = 9; c = 9; b和c直接赋值 没有var赋值,当全局变量看

创建对象
使用对象
(1)调用对象的属性 一般采用 对象名.属性名 /对象名['属性名']
(2) 调用对象的方法 对象名.方法名()

字面量

        var obj = {
uname: '李白',
age: '66',
sex: '男',
say: function () { // 方法名冒号后面跟的是一个匿名函数(函数表达式)
console.log("你好吗");
}
}

  

        // 创建对象案例演示
// 第一种
var dog = {
name: '可可',
type: '阿拉斯加犬',
age: 5,
color: 'red',
barkasf: function () {
console.log('可可会汪汪汪');
console.log('可可还拍过电影呢');
} }
console.log(dog.name);
console.log(dog.age);
console.log(dog.type);
console.log(dog.color);
console.log(dog.barkasf());
// 第二种
var obj = new Object();
obj.uname = '鸣人';
obj.age = 19;
obj.sex = '男';
obj.skill = function () {
console.log('我会影分身之术');
}
console.log(obj.uname);
console.log(obj.age);
console.log(obj.sex);
console.log(obj.skill());
         //  第三种 构造函数创建对象  把对象里面的一些相同属性和方法封装到函数里面

        //构造函数名字首字符要大写  抽象了对象的公共部分 泛指某一大类,类似JAVA的类
//构造函数不需要return,就可以返回结果
//构造函数语法格式 function 构造函数名() {
this.属性 = 值;
this.方法 = function () { }
}
new 构造函数名(); //调用函数就创建了一个对象
        //构造函数案例演示

        function Hero(uname, ttype, blood,attack) {
this.name = uname;
this.type = ttype;
this.blood = blood;
this.attack = attack; }
        // 调用函数就是创建了对象
var lianpo = new Hero('廉颇', '力量型', 500, '近战'); console.log(lianpo.name);
console.log(lianpo.type);
console.log(lianpo.blood);
console.log(lianpo.attack);
var houyi = new Hero('后羿', '射手型', 100, '远程');
console.log(houyi.name);
console.log(houyi.type);
console.log(houyi.blood);
console.log(houyi.attack); function computer(color, weight, type) {
this.color = color;
this.weight = weight;
this.type = type;
this.watch = function () {
console.log('看电影');
}
} var thinkPad = new computer('黑色', '1.7kg', '联想');
console.log(thinkPad.type);
console.log(thinkPad.color);
console.log(thinkPad.weight);
console.log(thinkPad.watch);

fot...in 用于对数组或者对象的属性进行循环操作 遍历对象
k 变量 输出 得到的是 属性名
对象[变量] 得到是属性值

 for (var k in dog) {
console.log(dog[k]);
}

  

        //猜数字游戏

        function getMath(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getMath(1, 30);
while ( true ) {
var num = prompt('输入数字');
if (num > random) {
alert('猜大了');
} else if (num < random) {
alert('猜小了');
} else {
alert('恭喜,宾果');
break;
} }

  

   var date = new Date();
console.log(date);

  

创建数组的两种方式

1, 利用数组字面量
 2, 利用new Array() 创建了一个空的数组

检测是否为数组
 1, instanceof 运算符
 2, Array.isArray(参数)

reverse(); 翻转数组
sort(function( a, b){ 数组排序(冒泡排序)
return a - b;升序
return b - a;降序
});

  

返回数组元素索引号方法 indexOf(数组元素); 找不到元素则返回 -1 lastIndexOf 后面找
toString() 将数组转换为字符串
join(分隔符)

JavaScirpt 一些基本知识的更多相关文章

  1. javascirpt历史澄清误解基本概念特点编程语言web2.0网页javascript - javascirpt知识大全

    目录1历史 2澄清误解 3基本概念 4特点 5与Java的不同 6开发工具 历史 大概在1992年,一家称作Nombas的公司开始开发一种叫做C减减(C-minus-minus,简称Cmm)的嵌入式脚 ...

  2. 04 javascirpt基础知识---听课笔记

    1.JavaScript概念 一门客户端脚本语言运行在客户端浏览器中的.每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了 * 功能:可以来增强用户和ht ...

  3. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  4. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  5. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  6. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  7. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  8. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  9. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

随机推荐

  1. Codeforces_831

    A.线性判断. #include<bits/stdc++.h> using namespace std; ] = {}; int main() { ios::sync_with_stdio ...

  2. pdo数据操作,3-4,0724

    require 'connect.php'; $linshi = $dbh->prepare('UPDATE `category` SET `name` = :name, `alias`=:al ...

  3. Django运行方式及处理流程总结(转发)

    之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的.所以,我按照自己的逻辑总结了一下Django项目的运行方式和对R ...

  4. Go语言实现:【剑指offer】二叉搜索树的第k个的结点

    该题目来源于牛客网<剑指offer>专题. 给定一棵二叉搜索树,请找出其中的第k小的结点.例如,(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. Go语言实现: ...

  5. Leetcode题解 - 部分中等难度算法题解(56、957、825、781、1324、816)

    957. N 天后的牢房 思路: 模拟变换,当N天结合后返回 => 当N非常大的时候,超时 => 一般N很大的时候,这种题目必然存在循环,所以记录找过的状态,一旦出现已经访问过的状态可立即 ...

  6. CentOS使用465端口发送邮件

    1)邮件发送示例 方法1:echo "This is a test mail" | mail -s '邮件测试' 452666750@qq.com 方法2:mail -s '服务运 ...

  7. spring cloud微服务快速教程之(七) Spring Cloud Alibaba--nacos(一)、服务注册发现

    0.前言 什么是Spring Cloud Alibaba? Spring Cloud Alibaba 是阿里开源的,致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便 ...

  8. 《C/C++实现Console下的加载进度条模拟[美观版]》

    前言   有时候我们会遇到在CMD或DOS控制台上出现的加载进度条,虽然不是如网页和软件写的美观.但确确实实也有着自己的特色.而且,一个好看的加载进度条也能增加用户使用控制台程序的体验!所以,拿来研究 ...

  9. tomcat 安装在 linux

    简单说下什么是tomcat?它与apache web服务器的关系? Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP.PHP) Tomcat只是 ...

  10. vue插件介绍

    1.插件和组件的关系 在没有封装组件之前,如果不使用第三方插件,那么很多情况下我们会编写几个常用的组件来提供给页面使用,如Alert/Loading组件,而你可能需要在很多页面中引入并且通过compo ...