javaScript中数据类型,$ is not a function问题

javaScript中数据类型

学习一周js,做一个数据类型总结,遇到一个$ is not a function问题,已解决,遇到过相同的问题,看这里。


数据类型

类型参数
字符串“word”,’word’;
数字12345,1.234,2e-5;
布尔true,false;
数组new Array(“a”,”b”,”c”);
对象{“age”:123,”name”:”bill”};
Null
Undefined不含有值,运算出错也会报这个

- js数据类型是动态类型,意思就是相同的变量可能有不同的类型。
比如:

var x;               // x 为 undefined
var x = 6;           // x 为数字
var x = "Bill";      // x 为字符串

第一次写弱类型的语言,不像c,java,一样的强类型语言,以为终于可以摆脱各种类型,想怎么用就怎么用!那就错了。

回调函数:

//定义
var num1;
var num2;
//加法
function sum(num1,num2){
    return num1+num2;
}
//乘法
function mul(num1,num2){
    return num1*num2;
}
//传入一个方法名和两个数值
function cal(calname,num1,num2){
    return calname(num1,num2);
}
//测试
var result=cal(sum,1,2);
alert(result);

1、万事大吉,正确输出:
正常输出
2、再来一个,仅测试方式改为输入参数:

//测试
var line=prompt("输入方法名 数值1 数值2,以空格隔开");
var ops=line.split(" ");
//输出运算方法
alert(ops[0]);
var result=cal(ops[0],Number(ops[1]),Number(ops[2]));
alert(result);

3、好像就是一个很简单的计算,可以输出方法名,但不能输出结果,再看控制台:
方法名正确

op is not defined

解决方法

//测试
var line=prompt("输入方法名 数值1 数值2,以空格隔开");
var ops=line.split(" ");
alert(ops[0]);
var result=cal(eval(ops[0]),Number(ops[1]),Number(ops[2]));
alert(result);

输入参数:sum 1 2
eval:
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。平常用的不多,在这里相当于把String类型转为function!

完整代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>csdn_text01_js_01</title>
<script>
//定义
var num1;
var num2;
//加法
function sum(num1,num2){
    return num1+num2;
};
//乘法
function mul(num1,num2){
    return num1*num2;
};
//传入一个方法名和两个数值
function cal(calname,num1,num2){
    return calname(num1,num2);
};
//测试
var line=prompt("输入方法名 数值1 数值2,以空格隔开");
var ops=line.split(" ");
alert(ops[0]);
var result=cal(eval(ops[0]),Number(ops[1]),Number(ops[2]));
alert(result);
</script>
</head>

<body>  
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值